如何避免ImageMagick抗锯齿变色? 更新:

如何避免ImageMagick抗锯齿变色? 更新:,imagemagick,transparency,transparent,alpha,antialiasing,Imagemagick,Transparency,Transparent,Alpha,Antialiasing,多亏了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:\uuuuuuuuuuuuuuuu”指定背景色。

多亏了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:\uuuuuuuuuuuuuuuu”指定背景色。(也许这就是我弄错的地方?)

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

右边显示的抗锯齿是我想要从ImageMagick获得的。以下是不同xc值的结果:


如您所见,抗锯齿与纯色很好地混合,但与透明度不混合。《ImageMagick指南》中有很多问题,也有可能导致的问题,但通读一遍,没有一个例子涉及透明度。有什么想法吗?

你试过设置
-背景红色-阿尔法背景吗?我怀疑背景颜色默认为黑色,然后在透明背景上用红色模糊。

尝试
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在评论中指出的那样,该问题在更新到ImageMagick/convert(6.9.1-6 Q16 i686 2015-06-30)最新版本的IM中得到了解决,为我解决了这个问题。(谢谢,帕迪)

您使用的是什么版本<代码>转换--版本
。我从你的截图猜到你在Mac OS X上使用了这个。我在Mac OS X上也安装了ImageMagick。我的版本报告为
ImageMagick 6.9.0-10 Q16 x86_64 2015-03-08
,透明的抗锯齿看起来不错。我正在Crunchbang 11 Waldorf上运行convert版本6.9.1-2 Q16 i686 2015-04-22。但是,我也在我的OSX机器上安装了它(6.9.1-6 Q16 x86_64 2015-06-22),您完全正确,它看起来很好。所以,我的Crunchbang盒/安装肯定有问题。谢谢你的帮助。xc:transparent不会用这个版本的IM为我修复它。shrug@DustinPaluch啊!!这不是我想的问题,而是系统之间SVG委托的问题。有一种方法可以强制矢量图形使用MVG而不是RSVG库。如果我能找到文件,我会更新我的答案。这就是它看起来的样子,不是吗。我试过这样做:
convert-size 24x24 xc:-背景红色-alpha背景-填充蓝色-绘制“路径'M 0,0 L 24,0 A 24,24 0 0,0 0,24 Z'”三角形_curved.png
,但它去掉了透明度,给了它一个白色背景。