你可以强制使用PNG-8 alpha透明度来处理ImageMagick吗?

14

当我尝试用Imagemagick处理带有alpha透明度的一堆PNG-8图像时,它会将它们转换为PNG-32格式,导致文件大小大幅增加。

是否可能强制Imagemagick保持我的图片类型为8位PNG?

2个回答

20

你可以这样做:

convert test.png PNG8:test2.png

我在使用IM和PNG8时运气不太一样,但这是正确的方法。


我们如何使用这个?你能分享任何例子吗? - Ahmad Arslan
那是一个例子。你在找什么? - Matthew Talbert
2
把格式列表放在你的枕头下:http://www.imagemagick.org/script/formats.php - Ciro Santilli OurBigBook.com
如果我使用“convert test.png PNG24:test2.png”,它能将位深度为32的图像转换为24吗? - Mona Jalal
1
似乎这个方法会破坏图像中的任何部分透明度,即使PNG格式支持具有半透明颜色的调色板图像。我所知道的唯一保留此类部分透明度的方法仍然获得8位调色板输出,就是告诉ImageMagick输出PNG32图像并使用pngquant重新量化它们。 - Ilmari Karonen

10

我似乎使用以下方法得到了最佳结果

convert src.png -colors 256 PNG8:dest.png

将一张黑白PNG转换为8位色PNG,使用ImageMagick 6.8.7-7中的“-colors 256”命令即可。 - Carlos Scheidegger
如果你有超过256种颜色,这可能是最好的选择,因为它会进行适当的减少。没有-colors选项的答案不会这样做。 - GreenReaper
"-depth 8" 在 ImageMagick 7 上产生最佳结果。 "-colors 255" 和 "PNG8:" 的结果都有太多的伪影。 - Ben Mack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接