【发布时间】:2013-01-19 17:48:41
【问题描述】:
我有一个批处理脚本,可以将我的 PNG-24(带透明度)图像转换为 50% 和 25% 大小(用于移动开发)。通常这些图像中有颜色,但现在我正在尝试转换没有颜色的图像,ImageMagick 不断将颜色空间配置文件更改为“灰色”,这会在我使用的 3d 引擎(Unity)中弄乱我的图像。
我尝试强制它使用 TrueColor 类型、色彩空间 sRGB 和 sRGB.icc 配置文件(OSX 中包含的配置文件),但它似乎并不在意。它仍将其更改为灰色。
> convert old.png -profile srgb.icc -colorspace sRGB -type TrueColor new.png
> identify *.png
old.png PNG 140x140 140x140+0+0 8-bit sRGB 3.68KB 0.000u 0:00.000
new.png PNG 140x140 140x140+0+0 8-bit sRGB 256c 2.33KB 0.000u 0:00.000
ImageMagick 仍将其识别为 8 位 sRGB 图像,但它在其后加上“256c”,我假设这意味着它已将其减少到 256 种颜色,我也不想要。当我在 OSX Preview.app 中查看图像时,它说它使用的是灰色颜色配置文件。该图像在视觉上看起来也大不相同。
这是我正在使用的图片:https://dl.dropbox.com/u/59304/old.png
这里有一个重复的问题,ImageMagick Reduces Colorspace to Gray,但答案对我不起作用,很遗憾,我没有足够的声誉来评论他的答案。我想我的情况有所不同,因为我使用的是 PNG 而不是 JPG。
Version: ImageMagick 6.8.0-7 2013-01-02 Q16 http://www.imagemagick.org
Features: OpenCL
edit- 在阅读了答案之一中指定的 ImageMagick 论坛后,看起来只是在输出文件中添加 PNG32: 或 PNG24: 即可解决问题。
【问题讨论】:
-
我会查看 Imagemagick 论坛;这里有一个帖子可能会有所帮助。 imagemagick.org/discourse-server/… 我对 png 图像没有做任何特别的事情,但据我所知,有很多不同类型的 png。