ImageMagick - 拼合更多 png 图像

ImageMagick - flatten of more png images

我有更多 PNG 图片(比如 img1.png、img2_transparent.png、img3.png),我希望它们合并为一张图片。

在我压平它们之前我设置了(我希望第二张图片稍微透明):

convert img2_transparent.png -alpha on -channel a -evaluate set 90%

然后我把它们压平(顺序是img1.png、img2_transparent.png、img3.png):

convert *.png -flatten out.png

结果正常,第二个 "layer" 的不透明度为 90%,但整个图片(因此所有 "three" 层)为 "lightened"。颜色没有那么深,因为我没有将 alpha 设置为 img2_transparent.png。

我怎样才能避免这种情况?

谢谢

如果您希望图像在生成的图像中以相同的方式显示,一般公式是将每个图层的不透明度设置为

1/(1 + number of layers underneath)

基础层完全不透明。第二张图片的不透明度为 1/2,第三张图片的不透明度为 1/3,第四张图片的不透明度为 1/4。

convert base.png \
   \( layer2.png -channel A -fx '0.5'   \) \
   \( layer3.png -channel A -fx '0.333' \) \
   \( layer4.png -channel A -fx '0.25'  \) ....

Cambridge in Colour 网站上有一个很好解释的教程。向下滚动到 使用图层在 PHOTOSHOP 中平均图像