如何将PNG的就地批量从灰度转换为RGB?

时间:2017-10-05 16:43:19

标签: imagemagick mogrify

所以,我想将许多PNG从灰度转换为RGB,类似于this question

但是,给定的命令对PNG不起作用。此外,这是convert,我读到要处理图像就地,必须使用mogrify。我该怎么用?

1 个答案:

答案 0 :(得分:0)

所以,这是imagemagic的a buga feature。引用功能部分:

  

事实证明,即使文件以前是PNG24或PNG32

,ImageMagick也会尝试根据图像内容设置为PNG8

因此,如果您希望每张图片最多使用3个频道,则必须设置png24格式(3频道x 8位/频道。< / p>

所以解决方案是:

# for a single image, with a different output
convert input.png -type TrueColor png24:output.png

# for a batch of images, IN_PLACE !!! BE VERY CAREFUL 
mogrify -define png:format=png24 -type TrueColor *.png

必须意识到mogrify会修改它们到位,所以请确保这是您想要的,因为无法恢复原始图像。