Imagemagick:删除 alpha 分量(用实心像素替换所有中间 alpha 像素)

Imagemagick: remove alpha component (replace all intermediate alpha pixel with solid pixel)

要解决,我需要用实心像素替换所有中间 alpha 像素(保持透明背景不变)。

如何使用 ImageMagick 或其他命令行工具对树中的所有图像进行处理?

图片bg_all_block.9.png

图片btn_bg_common_press.9.png

更新:我发现我可以检测是否使用了 alpha,如 Detect Alpha Channel with ImageMagick

其他找到的链接

要从单个图像中删除 alpha 通道,请使用此命令:

convert input.png -alpha off output.png

要从文件夹中的所有图像中删除 alpha 通道,请使用 find 首先找到所有 PNG 文件,然后 运行 通过 convert:

find . -name "*.png" -exec convert "{}" -alpha off "{}" \;

请测试您的文件的副本以确保确定。

...

请参阅下面的对话框,答案基于 "we need to remove alpha that is not 255"

convert input.png -channel A -threshold 254 output.png

和批量

mkdir batch
FOR %G IN (*.png) DO convert %G -channel A -threshold 254 batch\%G

要从文件夹中的所有图片(f.ex。所有 .png 文件)中删除 alpha 通道,我使用以下命令(在 macOS 的终端中):

for file in *.png; do convert $file -alpha deactivate; done

不幸的是,none 此线程中给出的任何其他解决方案对我都有效。

macOS 上对我有用的批处理是:

for f in *.png; do convert "$f" -channel A -threshold 254 "${f%%.png}.png"; done