在ahk / html脚本中更改图像颜色

时间:2018-12-17 13:28:48

标签: html css autohotkey

我目前正在使用自动热键来创建游戏。我想在游戏中加入图片,并希望更改它们的颜色和背景。

我尝试了几件事,到目前为止,它们都在自动热键窗口中产生了问题。

任何类型的过滤器似乎都不起作用。甚至没有彩色图像

更改画布中的颜色非常慢(每张图像从30秒到5分钟不等)

我尝试将图像转换为svg,但到目前为止,我发现所有这样做的站点都将图像更改为我不想要的更具矢量化外观。

我现在尝试的解决方案是将图片转换为字体并以这种方式更改其颜色,但是在计算机上执行各种操作只会停止脚本加载字体,直到重新启动PC。一个示例是在计算机上保存图像。

这里是我现在正尝试使用的包含测试脚本,字体和html文件的链接Link

自动热键脚本。

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
htmlpath := A_scriptdir . "\Htmlfile.html"
gui Picture_Loader:default
gui, add, edit, h0 w0
gui, font, s10
gui +Border +lastfound
menuwidth := A_screenwidth / 3
menuheight := A_screenheight / 2

Gui, Add, ActiveX, x0 y0 w%menuwidth% h%menuheight% vmenu, Shell.Browser
menu.navigate(htmlpath)
gui, show
return

F11::
Reload
return

HTML文件

<!DOCTYPE html>
<html>
    <head>
        <title>a</title>
        <meta charset='UTF-8'>
        <meta name='viewport' content='width=device-width, initial-scale=1.0'>
        <meta http-equiv='X-UA-Compatible' content='ie=edge'>
        <style type=text/css>
            html {
                overflow:hidden;
                height:100%;
            }
            body {
                background:#888888;
                width:100%;
                height: 100%;
            }
            @font-face {
                font-family:'Myfont';
                src:url('opensans-bold.woff') format('woff');
            }
            .custom{
                font-family:'Myfont';
            }
        </style>
    </head>
    <body>
        <p class='custom'>Aa</p>
    </body>
</html>

如果有人可以解决我的任何问题。请告诉我。一种使字体一致地工作的方法,将图像转换为svg而不改变它们的网站,或者将画布颜色改变为可管理的水平的速度都可以解决此问题。问题

2 个答案:

答案 0 :(得分:1)

F2::
    {
    RunWait, "C:\Program Files\ImageMagick-7.0.8-Q16\magick.exe" convert C:\black.png -fill red -opaque black C:\red.png,, hide
    Return
    }

答案 1 :(得分:1)

似乎您正在尝试使用AutoHotkey制作基于js / html的游戏,该游戏可在Windows之上运行。您可能需要研究webapp.ahk或更通用的tutorial,它旨在帮助解决这类问题。如果要进行更多的图形专用编程,最好使用GDI+之类的东西,或者甚至使用Project 2D之类的基于AHK拼贴的预制游戏引擎。对于字体问题,您可能必须使用绝对路径。并且,如果可能的话,请尝试使用您知道可以正常工作的字体来测试它,例如FontSquirrel中的一个。另一个选择可能是使用SVG格式的字体,或者尝试将其转换为TTF。

无论哪种方式,以下是用于处理图形的选项:

  • SVG图形:您可以使用SVG.js之类的js SVG库来做动画工作,等等。
  • js画布:将资源导入到画布中,然后从那里进行修改,或者
  • 使用GDI +等系统图形来完成所有工作。