2014-10-07 34 views
0

我創建使用圓角矩形面膜是不正確的

convert -size 256x256 xc:none -draw "roundrectangle 0,0,256,256,47,47" mask.png 

這工作得很好圓角矩形掩碼。然而,使用相同的命令爲16x16如下

convert -size 16x16 xc:none -draw "roundrectangle 0,0,16,16,3,3" mask.png 

產生mask.png其中圓角看起來不正確的。事實上,左上角看起來不錯,右下角看起來失真。

我轉換的版本是

Version: ImageMagick 6.8.9-6 Q16 i586 2014-09-06 http://www.imagemagick.org 

每張圖像的圓角半徑爲256分之47〜= 3/16〜= 18%

我不是在運行命令是否正確或者是這些文物預期?這可能是imagemagick的限制。

我最終的目標是使用這個面具,並將它合成爲一個應用程序圖標,其大小範圍從16x16到1024x1024。由於蒙版創建錯誤,因此合成時的最終圖標也是如此。

回答

1

這更涉及到基本的畫布溢出。只要記住,像素陣列開始於0和結束於n-1(其中n是數組的大小)。

array index

如果用大小16x16,第一像素的圖像上繪製將具有0,0的訪問座標和15,15的最後一個像素。這與你的第一個例子是一樣的,但曲線足夠大,不會注意到最後一個像素被修剪掉了。

convert -size 16x16 xc:none -draw "roundrectangle 0,0,15,15,3,3" mask.png 
+0

太棒了,我現在覺得有點笨拙:)謝謝,這確實解決了這個問題。面具現在是完美的 – sachinkundu 2014-10-08 07:48:38