最近,我阅读了一个有趣的优化技术来优化透明 PNG 图像。
这个想法是将透明的PNG图像分成两部分:带有颜色信息的PNG 8位和带有透明度的PNG 24,并在客户端合并它。它将大大减小图像的大小。在使用 Photoshop 制作的文章示例中,但我很确定,我们可以使用 imagemagick 自动制作。
所以,问题是:如何以这种方式用 imagemagick 分割 PNG 图像?
最近,我阅读了一个有趣的优化技术来优化透明 PNG 图像。
这个想法是将透明的PNG图像分成两部分:带有颜色信息的PNG 8位和带有透明度的PNG 24,并在客户端合并它。它将大大减小图像的大小。在使用 Photoshop 制作的文章示例中,但我很确定,我们可以使用 imagemagick 自动制作。
所以,问题是:如何以这种方式用 imagemagick 分割 PNG 图像?
这篇文章谈到了“肮脏的透明度”,这意味着透明像素的颜色值虽然不可见,但仍保留在图像中——它们只是被 Alpha 层不可见。
这些值,因为它们继续包含颜色信息,阻止 PNG 优化器有效地编码它们。您可以使用以下方法在 ImageMagick 中实现本文在这方面的建议:
convert image.png ... -alpha background result.png
这将使所有透明像素具有相同的颜色(您的背景颜色),然后 PNG 编码器将能够更容易地优化它们,因为这些值会一遍又一遍地重复。
请参阅此答案的最后一部分。