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

我已经尝试了几件事,到目前为止,它们都在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而无需更改它们的网站,或者将画布颜色改变为可管理的水平的速度都可以解决此问题。问题

最佳答案

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

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


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

10-07 21:18
查看更多