我有一些透明的PNG图像。但是,每当我在图像上使用ImageMagick进行任何操作(例如裁剪)时,它都会将某些图像更改为“索引”颜色而不是RGB。变化的图像恰好少于256种颜色,但转换会破坏透明度。
根据一些研究,我发现你可以在convert
之前添加文件名来强制RGB,但只有在使用mogrify
命令时才有效,而不是-format png32
。
我可以使用mogrify添加*.png32
,但会将所有图片重命名为mogrify -define png:format=png32 -format png *.png
。
据说你可以这样做:
{{1}}
但它不起作用,图像仍然是索引颜色而不是RGB。如何使用mogrify强制PNG32?
答案 0 :(得分:5)
如果您使用的是最近版本的ImageMagick(6.9.1-3或更高版本),那么您的命令应该有效。
如果您像使用-format png32选项那样使用早期版本,然后运行脚本将它们重命名为* .png。
根据ImageMagick源代码分发中的ChangeLog,在6.7.3-0版本的ImageMagick中添加了“-define png:format = png32”选项,但是在版本6.8.9-0中引入了一个错误在某些情况下可以忽略它;该错误已在版本6.9.1-3中修复。
所以问题的答案是通过让“mogrify”将输入文件重命名为* .png32,或者将ImageMagick升级到6.9.1-3或更高版本来解决问题。