当我运行此命令时:
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
答案 0 :(得分:1)
我已经尝试简化你的命令并在我的OSX Mavericks上重新运行它以查看它给出了什么。基本上,我发现我可以安全地删除一些东西并没有任何区别,直到我做到这一点仍然给出与你的例子相同的结果(我认为):
convert -size 32x32 xc:transparent -fill "hsla(60 ,83% ,64%,1)" -draw "circle 15,16 8,10" png32:a.png
然后我考虑了H
,S
和L
各自的范围。 H
的范围是0-360,然后我意识到你的H
的60被解释为60%,因为有一点舍入误差,60 * 360/100 = 215这是什么您看到的是H
值。所以,我将你的H
值从60改为16(因为360的16%是你想要的60),它就是你想要的60。不确定它是否是一个错误,或者是什么,但我认为这就是正在发生的事情。
顺便说一下,我注意到弗雷德在this页面上注意,在指定HSL颜色时,不要将纯数字与百分比混合,所以也许他的软件也不指望我们......
我现在确定IM正在将您的H
值解释为百分比,如果您输入50,则输出180(360%的50%),如果输入10,则输出36( 360%的10%。