- 索引
ImageMagick 示例前言和索引
已知和已修复错误索引
演示 ImageMagick 5.5.7 及更早版本中发现的透明黑色背景上的半透明白色错误。这些错误在 ImageMagick 版本 6 的开发过程中得到了修复。
此页面上的背景图案是为了选择,以便任何透明度都可以在理解 PNG 透明度的 Web 浏览器(例如基于 Mozilla 的浏览器)中可见。
此页面供仍然可能需要处理此错误的旧版 IM 用户参考。当/如果错误得到修复时,此页面上的示例不会重新创建。
生成一个不透明的矩形
magick -size 200x200 xc:none -fill "#808080" \
-draw "rectangle 0,0 150,100" rectangle.png
|
和一个白色圆圈(-draw 命令中出现半透明错误)
magick -size 200x200 xc:none -fill "#FFFFFF" \
-draw "circle 125,125 73,73" circle_white.png
|
如果出现错误,您将看到纯白色圆圈周围有深色,接近黑色的边缘。
使其半透明
magick circle_white.png -fill "#FFFFFF80" -opaque "#FFFFFF" circle.png
|
警告:这不是生成半透明白色圆圈的实用示例,不应将其视为最佳方法。将圆圈叠加在矩形上(叠加中出现半透明错误)
magick composite circle.png rectangle.png alpha.png
|
如果此处出现错误,结果应该是,虽然叠加的灰色矩形颜色变浅,但半透明白色圆圈的其余部分会变成灰色,而不是保持不变。
将以上结果叠加到白色背景上,以便我们可以在 IE 等浏览器上看到结果。
magick composite alpha.png -size 200x200 xc:white result.png
|
上面最终结果应该是灰色矩形在圆圈重叠处略微变白。其他任何地方,白色圆圈都应该消失(半透明白色在白色上显示为白色!)。
如果存在错误,您将看到一个灰色圆圈,并且由于“-draw
”命令中存在错误,圆圈的边缘将显得更暗,而不是渐变到白色背景中。
IM 的正确结果
以上图像应如下所示
注意:由于白色圆圈变为半透明的方式不准确(使用“
-fill
”和“
-opaque
”),因此在深色矩形和叠加圆圈之间存在一条几乎是白色的细边框。这不是错误,只是图像处理不正确。
如果我使用此(更正确的)命令(仅在 IMv7 中有效)生成半透明圆圈...
magick circle_white.png -channel A -fx A/2 circle.png
|
那么我们在最终结果中将看不到细白边框。