防止ImageMagick使用索引颜色



我有一些透明的PNG图像。然而,每当我使用ImageMagick对图像进行任何操作(例如裁剪)时,它都会将一些图像更改为"索引"颜色而不是RGB。改变的图像是那些碰巧少于256色的图像,但转换会破坏透明度。

从一些研究中,我发现你可以在文件名前加上png32:来强制RGB,但这只在使用convert命令时有效,而不是mogrify

我可以用mogrify添加-format png32,但这会将所有图像重命名为*.png32

假设你可以这样做:

mogrify -define png:format=png32 -format png *.png

但是它不起作用,图像仍然是索引颜色不是RGB。我如何使用mogrify强制PNG32 ?

如果您使用的是最新版本的ImageMagick(6.9.1-3或更高版本),您的命令应该可以正常工作。

如果您像以前那样使用-format png32选项,则早期版本可以工作,然后运行脚本将它们重命名为*.png。

根据ImageMagick 6变更日志,"-define png:format=png32"选项在6.7.3-0版本被添加到ImageMagick中,但在6.8.9-0版本引入了一个错误,导致它在某些情况下被忽略;该错误已在6.9.1-3版修复。

因此,您的问题的答案是通过让mogrify将输入文件重命名为*来解决问题。

将您的ImageMagick升级到6.9.1-3或更高版本

最新更新