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

时间:2015-03-09 07:35:27

标签: image-processing command-line imagemagick

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

如何将ImageMagick或其他命令行工具用于树中的所有图像?

图片bg_all_block.9.png

 bg_all_block.9.png

图片btn_bg_common_press.9.png

btn_bg_common_press.9.png

enter image description here

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

其他找到的链接

3 个答案:

答案 0 :(得分:37)

要从单张图像中删除Alpha通道,请使用以下命令:

convert input.png -alpha off output.png

要从文件夹内的所有图片中删除Alpha通道,请先使用find查找所有PNG文件,然后运行“m到convert

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

请测试您的文件的COPY以确定。

...

请参阅下面的对话框,答案是基于“我们需要删除不是255的alpha”

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

和批次

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

答案 1 :(得分:1)

ma​​cOS 上对我有用的批处理是:

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

答案 2 :(得分:0)

要从文件夹中的所有图片(例如所有.png文件)中删除Alpha通道,请使用以下命令(在 macOS 的终端上):

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

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