【问题标题】:ImageMagick Convert not generating correct colorImageMagick Convert 没有生成正确的颜色
【发布时间】:2014-07-20 18:41:36
【问题描述】:

当我运行这个命令时:

convert -units PixelsPerCentimeter -type TrueColorMatte -channel RGBA -size 32x32 -alpha transparent xc:none -fill "hsla(60 ,83% ,64%)" -draw "circle 15,16 8,10" png32:"/test.png"

我得到一个颜色为hsla(215,79%,64%,1) 而不是填充参数中指定的hsla(60, 83%, 64%, 1) 的图像,我做错了什么吗?

我正在运行 Mac OS X 10.9 和 ImageMagick 6.8.7-7 Q16 x86_64 2013-11-27

【问题讨论】:

    标签: imagemagick imagemagick-convert


    【解决方案1】:

    我已尝试简化您的命令并在我的 OSX Mavericks 上重新运行它,看看有什么效果。基本上,我发现我可以安全地删除一些东西并且它没有任何区别,直到我明白这一点,它仍然给出与你的例子相同的结果(我认为):

    convert -size 32x32 xc:transparent -fill "hsla(60 ,83% ,64%,1)" -draw "circle 15,16 8,10" png32:a.png
    

    然后我想到了HSL 的范围。 H 的范围是 0-360,然后我意识到 H 的 60 被解释为 60%,因为有一点舍入误差,60*360/100=215 这就是你所看到的你的H 值。因此,我将您的 H 值从 60 更改为 16(因为 360 的 16% 是您想要的 60),结果就是您想要的 60。不确定这是一个错误还是什么,但我认为这是正在发生的事情。

    顺便说一句,我注意到 Fred 在this 页面上,在指定 HSL 颜色时小心不要将纯数字与百分比混合,所以也许他的软件不希望我们...

    我现在确定 IM 将您的 H 值解释为百分比,如果您输入 50,则输出 180(360 的 50%),如果输入 10,则输出 36(10% 360)。

    【讨论】:

    • 有趣的发现,我想我将不得不让我正在处理的代码将第一个数字转换为百分比,谢谢。如果您可以看一下,我对 ImageMagick 也有另一个奇怪之处:stackoverflow.com/questions/24862041/…
    • 我看了一下,已经在那边评论了。
    猜你喜欢
    • 2014-08-27
    • 2014-09-03
    • 2023-03-11
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    相关资源
    最近更新 更多