我有一些透明的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
将输入文件重命名为*来解决问题。