使用imagemagick为小方块创建的圆角矩形蒙版不正确

时间:2014-10-07 09:55:25

标签: imagemagick imagemagick-convert

我正在使用

创建一个圆角矩形蒙版
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

对于每个图像,圆角半径为47 / 256~ = 3 / 16~ = 18%

我没有正确运行命令还是预期这些工件?这可能是imagemagick的限制。

我的最终目标是使用此蒙版并将其合成,以制作各种尺寸的应用程序图标,范围从16x16到1024x1024。由于掩码创建错误,因此合成时最终图标也是如此。

1 个答案:

答案 0 :(得分: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