【问题标题】:Prevent ImageMagick from using indexed colors?防止 ImageMagick 使用索引颜色?
【发布时间】:2015-10-16 08:01:17
【问题描述】:

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

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

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

假设你可以这样做:

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

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

【问题讨论】:

  • 您可以将您的 IM 版本和平台添加到您的帖子中吗?
  • 从完整的 alpha 图像转换为索引的 PNG 不应破坏透明度。你能提供一张发生这种情况的图片吗?

标签: imagemagick png mogrify


【解决方案1】:

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

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

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

因此,您的问题的答案是通过让mogrify 将您的输入文件重命名为 *.png32 来解决该问题,或者将您的 ImageMagick 升级到 6.9.1-3 或更高版本。

【讨论】:

  • 我使用的是 v6.8.9-9,所以它一定是由于那个错误。我只是使用标准的 Ubuntu 软件包,所以我现在将解决它。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-05
  • 2016-12-06
  • 2016-06-22
  • 1970-01-01
  • 2015-12-15
  • 2012-08-23
相关资源
最近更新 更多