2014-07-20 60 views
0

當我運行此命令:ImageMagick的轉換不產生正確的顏色

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日

回答

1

我試圖簡化你的命令,然後重新運行它在我的OSX小牛,看看有什麼給。基本上,我發現我可以安全地刪除幾件事情,並沒有什麼區別,直到我到這裏面還給出了相同的結果,你的榜樣(我認爲):

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

然後我想到這些範圍H,SL中的每一個。 H的範圍是0-360,然後我意識到你的60的H被解釋爲60%,因爲有一點舍入誤差,60 * 360/100 = 215這就是你所看到的H價值。所以,我把你的H的值從60改爲16(因爲360的16%是你想要的60),並且它以你想要的60出來。不知道它是一個錯誤還是什麼,但我認爲這就是發生的事情。

順便說一句,我注意到弗雷德,在this頁,細心從未指定HSL顏色時,以純數字與百分比混合,所以他的軟件不指望我們要麼...

我我現在確定即時消息正在將你的H值解釋爲一個百分比,如果你輸入50,那麼你會得到180(360的50%),如果你輸入10,那麼你會得到36(360的10%)。

+0

有趣的發現,猜我將不得不使我的工作代碼轉換爲第一個數字百分比,謝謝。我也有另一種奇怪的ImageMagick,如果你可以看看:http://stackoverflow.com/questions/24862041/imagemagick-not-creating-correct-color – ryanzec

+0

我看了一下,並在那裏評論。 –