ImageMagick 的 mogrify 工具使 PNG 变暗(仅尝试调整大小时)

ImageMagick 的 mogrify 工具使 PNG 变暗(仅尝试调整大小时)

我正在尝试使用简单的命令来调整图像大小并覆盖原始图像:

mogrify -resize 80% *

我的源图像是半透明的 PNG,恰好是灰度的。调整大小操作有效,但会使图像变暗。

在此处输入图片描述

此版本以前在另一台机器(Ubuntu 12.04,带)上运行正常ImageMagick 6.6.9-7 2014-03-06,但在较新的机器(Ubuntu 14.04,带ImageMagick 6.7.7-10 2014-03-06)上却出现故障。截至本文发布时,出现故障的版本是 Ubuntu 14.04 存储库中的最新版本。

由于 ImageMagick 是一个可编写脚本的工具,因此这是一个不幸的回归,应该通过单元测试来发现。我要去检查我的脚本图像工作流程。

仅供参考-显然转换工具也受到了影响。

答案1

添加一个-type truecolorAlpha可以解决这个问题。

有可能找到解释与原始文件的真彩色 PNG 类型以及调整大小操作前后的不同调色板大小有关。

本质上,这是一个错误,因为 PNG(颜色类型 6)的 iCCP 配置文件被错误识别为 sRGB,并且可能在类似情况下发生。

答案2

我发现了一个博客文章通过指定输出格式来显示解决方法。对我来说,我想要半透明的 PNG,所以最好的选择是添加选项-define png:format=png32

mogrify -define png:format=png32 -resize 80% *

(博客建议这样做,-define png:format=png24但是这似乎将输出 alpha 限制为 1 位。)

相关内容