【问题标题】:rounded rectangle mask created for small squares using imagemagick is not correct使用 imagemagick 为小方块创建的圆角矩形蒙版不正确
【发布时间】:2014-10-07 09:55:24
【问题描述】:

我正在使用

创建一个圆角矩形蒙版
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 的各种尺寸的应用程序图标。由于蒙版创建错误,因此合成时的最终图标也是如此。

【问题讨论】:

    标签: imagemagick imagemagick-convert


    【解决方案1】:

    这与基本的画布溢出更相关。请记住,像素数组从0 开始,到n-1 结束(其中n 是数组的大小。)

    如果您在大小为16x16 的图像上绘图,则第一个像素的访问坐标为0,0,最后一个像素的访问坐标为15,15。这与您的第一个示例相同,但图像和曲线足够大,不会注意到最后一个像素被修剪掉。

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

    【讨论】:

    • 太好了,我现在感觉有点笨:)谢谢,这确实解决了问题。面具现在完美了
    猜你喜欢
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    • 2011-08-28
    • 2019-03-08
    相关资源
    最近更新 更多