【问题标题】:Can you force ImageMagick to use PNG-8 alpha transparency?你能强制 ImageMagick 使用 PNG-8 alpha 透明度吗?
【发布时间】:2010-11-30 21:25:35
【问题描述】:

当我尝试通过 Imagemagick 运行一堆具有 alpha 透明度的 PNG-8 图像时,它会将它们转换为 PNG-32,从而大大增加了文件大小。

是否可以强制 Imagemagick 将我的图像类型保持为 8 位 PNG?

【问题讨论】:

    标签: optimization png imagemagick


    【解决方案1】:

    你可以这样做:

    convert test.png PNG8:test2.png
    

    我对 IM 和 PNG8 的运气各不相同,但这是正确的方法。

    【讨论】:

    • 我们如何使用它?你能分享任何例子吗
    • 一个例子。你在找什么?
    • 把格式列表放在枕头底下:imagemagick.org/script/formats.php
    • 所以如果我使用 convert test.png PNG24:test2.png 它可以将位深为 32 的图像转换为 24 吗?
    • 这种方法似乎破坏了图像中的任何部分透明度,即使 PNG 格式支持具有半透明颜色的颜色映射图像。我知道保持这种部分透明度,同时仍然获得 8 位颜色映射输出的唯一方法是告诉 ImageMagick 输出 PNG32 图像和re-quantize them with pngquant
    【解决方案2】:

    我似乎使用以下方法获得了最好的结果

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

    【讨论】:

    • 要从黑白 PNG 转换为 8 位彩色 PNG,-colors 256 在 ImageMagick 6.8.7-7 上对我有用
    • 如果你有超过 256 种颜色,这可能是最好的选择,因为它会进行适当的减少。没有 -colors 的答案不会这样做。
    • -depth 8 在 ImageMagick 7 上产生最好的结果。-colors 255PNG8: 结果都有太多的伪影。
    猜你喜欢
    • 2010-09-28
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 2010-12-30
    • 2012-09-15
    • 2016-06-03
    相关资源
    最近更新 更多