【问题标题】:How to split a transparent PNG into 2 separated images with imagemagick如何使用 imagemagick 将透明的 PNG 拆分为 2 个分离的图像
【发布时间】:2013-11-14 08:56:21
【问题描述】:

最近我read an interesting optimization technique优化透明PNG图片。

这个想法是将透明的PNG图像分成两部分:带有颜色信息的PNG 8位和带有透明度的PNG 24,然后在客户端将其合并。它将大大减小图像的大小。在使用 Photoshop 制作的文章示例中,但我很确定,我们可以使用 imagemagick 自动制作。

所以,问题是:如何用 imagemagick 以这种方式分割 PNG 图像?

【问题讨论】:

  • 你确定你明白你想要做什么吗? “具有透明度的图像”是什么意思?这是否意味着它仅包括(半)透明像素?之后你将如何组合它们? (如果非透明部分具有全不透明像素,则不能叠加它们)。也许您应该为自己制作一些具有所需结果的示例,原始图像和拆分图像
  • 其实我想,图片叠加应该怎么叠加。我的意思是透明图像,如果我对术语的理解是正确的,它只包含关于透明度、关于 Alpha 通道的数据。当然,我会尝试做这样的实验。

标签: image optimization imagemagick png


【解决方案1】:

这篇文章谈到了“脏透明度”,这意味着透明像素的颜色值虽然不可见,但仍保留在图像中——它们只是被 alpha 层设为不可见。

这些值,因为它们继续包含颜色信息,会阻止 PNG 优化器对它们进行有效编码。您可以使用以下方法在 ImageMagick 中实现本文在这方面的建议:

convert image.png ... -alpha background result.png

这将使所有透明像素具有相同的颜色(您的背景颜色),然后 PNG 编码器将能够更轻松地优化它们,因为这些值会一遍又一遍地重复。

见this answer的最后部分。

【讨论】:

    猜你喜欢
    • 2016-06-03
    • 2014-01-25
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2016-03-05
    相关资源
    最近更新 更多