我如何使用 ImageMagick 向该图像添加 Alpha 通道

Mik*_*gan 2 png imagemagick-convert

我尝试向该图像添加 Alpha 通道没有 Alpha 通道的图像使用这个命令

convert az.png -alpha set temp.png
Run Code Online (Sandbox Code Playgroud)

生成的 temp.png 仍然没有 Alpha 通道。我究竟做错了什么?

该图像是从http://flagpedia.net/data/flags/mini/az.png获得的

Gle*_*son 7

默认情况下,ImageMagick 将“优化”输出,如果它是完全不透明的,则删除 Alpha 通道,如果存在的颜色少于 256 种,则可能将其转换为索引格式。您可以通过在输出文件名上使用“png32:”前缀来强制 ImageMagick 保留 Alpha 通道:

convert az.png png32:temp.png
Run Code Online (Sandbox Code Playgroud)

或使用当前的 ImageMagick 版本 7

magick az.png png32:temp.png
Run Code Online (Sandbox Code Playgroud)

导致

pngcheck *.png
OK: az.png (40x20, 24-bit RGB, non-interlaced, 92.7%).
OK: temp.png (40x20, 32-bit RGB+alpha, non-interlaced, 87.0%).
Run Code Online (Sandbox Code Playgroud)