圆角矩形面膜是不正确的

问题描述:

我创建使用圆角矩形面膜是不正确的

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。由于蒙版创建错误,因此合成时的最终图标也是如此。

这更涉及到基本的画布溢出。只要记住,像素阵列开始于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