如何避免这种 ImageMagick 抗锯齿变色?

How do I avoid this ImageMagick anti-aliasing discoloration?

更新:

感谢 paddy 的建议,我注意到抗锯齿功能在我的一台机器上看起来不错,但另一台机器却不行。


我正在尝试创建一个 24x24 的 png,它具有具有透明背景的填充形状。这是我正在使用的命令:

convert -size 24x24 xc:none \
        -fill red \
        -draw "path 'M 0,0 L 24,0 A 24,24 0 0,0 0,24 Z' " result.png

"xc: _____" specifies a background color. (maybe this is where I'm mistaken?)

输出给出了正确的形状,但形状和透明区域之间的边界(即颜色和透明度之间的抗锯齿边缘)明显变暗:

右边显示的抗锯齿是我想要的ImageMagick。这是我对不同的 xc 值得到的结果:

如您所见,抗锯齿与纯色混合得很好,但与透明度混合得不好。 ImageMagick 指南有 a section on anti-aliasing 及其可能导致的问题,但通读它,none 的示例涵盖了透明度。有什么想法吗?

你试过设置-background Red -alpha Background吗?我怀疑背景颜色默认为黑色,然后在透明背景下用红色模糊。

尝试 xc:transparent 而不是 xc:none

convert -size 24x24 xc:transparent \
    -fill red \
    -draw "path 'M 0,0 L 24,0 A 24,24 0 0,0 0,24 Z' " result.png

正如@paddy 在评论中指出的那样,此问题已在更高版本的 IM 中得到解决

更新到更新版本的 ImageMagick/convert (6.9.1-6 Q16 i686 2015-06-30) 解决了我的问题。 (谢谢,稻田)