如何避免此ImageMagick抗锯齿变色?

时间:2015-06-30 19:36:10

标签: imagemagick transparency transparent alpha antialiasing

更新

感谢稻田的建议,我注意到我的一台机器上的抗锯齿看起来很好,但另一台却没有。

我正在尝试创建一个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:_____"指定背景颜色。 (也许这就是我错的地方?)

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

ImageMagick expected vs. result

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

Different ImageMagick xc values

正如您所看到的,抗锯齿与纯色混合在一起,但与透明度无关。 ImageMagick指南有a section on anti-aliasing及其可能导致的问题,但仔细阅读,其中没有一个例子涉及透明度。有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您是否尝试过设置-background Red -alpha Background?我怀疑背景颜色默认为黑色,然后红色与透明背景模糊不清。

答案 1 :(得分:0)

尝试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的后续版本中得到解决

答案 2 :(得分:0)

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