【问题标题】:Changing image color in ahk/html script在 ahk/html 脚本中更改图像颜色
【发布时间】:2019-05-17 21:06:57
【问题描述】:

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

我已经尝试了几件事,到目前为止,所有这些都在自动热键窗口中产生了问题。

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

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

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

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

这是一个包含我现在正在尝试使用的测试脚本、字体和 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 而不更改它们的站点,或者将画布颜色更改为可管理级别的速度都可以解决这个问题。问题

【问题讨论】:

    标签: html css autohotkey


    【解决方案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
        }
    

    【讨论】:

    • 在我尝试这个之前只是一个问题。如果其他人想下载我的脚本,是否也需要下载这个程序?我正在尝试尽可能限制额外下载内容的数量。
    • ImageMagick 是一个用于操作图像的外部工具包。 Ameena 的建议是在您按下 F2 键时使用该工具来操作/创建您需要的图像。尽管这是一个可行的简单解决方案,但它带来的问题比它解决的问题多得多。 (例如,是否安装了 ImageMagick?哪个版本?它在哪里?我可以在哪里安全地保存文件?为什么要使用热键?)。对于 OP 的要求,这是一个糟糕的解决方案。
    【解决方案2】:

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

    无论哪种方式,以下是操作图形的选项:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      • 2013-03-29
      • 2018-10-24
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多