【发布时间】:2017-07-18 20:17:07
【问题描述】:
我有大量带有透明背景的白色图像,我想让它们变成带有透明背景的黑色。使用 GIMP 或 BIMP 很简单,但是对于成千上万的图像,命令行似乎是一种更好的方法。 在 ImageMagick 中,我发现以下两个命令可以满足我的要求:
mogrify -alpha set -channel RGBA -background black -flatten +repage -negate *.png
mogrify -alpha set -channel RGBA -transparent white *.png
但是,我宁愿不通过两次。我尝试了多种不同的方式来组合它们:
mogrify -alpha set -channel RGBA -background black -flatten +repage -negate +repage -transparent white *.png
mogrify -alpha set -channel RGBA -background black -flatten +repage -negate -alpha set -channel RGBA -transparent white *.png
mogrify -alpha set -channel RGBA -background black -flatten +repage -negate +repage -alpha set -channel RGBA -transparent white *.png
以及相同想法的其他几种排列方式。所有这些都会导致纯黑色图像。我错过了什么?
有没有更简单的方法来反转黑白或至少将白色转换为黑色,但不影响 Alpha 层?
mogrify -negate *.png
将白色转为透明,将透明转为白色,
mogrify -fill black -opaque white *.png
留下凌乱的白色边缘。
【问题讨论】:
-
了解平台/操作系统可能会有所帮助,您的批处理文件标签建议使用 MS-DOS、OS/2 或 Windows。
-
请提供几个示例输入图像和相应的输出图像 - 单独提供,而不是拼接成单个图像。
-
另外,您使用的是什么操作系统,两次通过的反对意见是什么?
-
windows 和数十万张图像要处理——从 8 小时缩短到 4 小时
标签: imagemagick batch-processing transparency mogrify