使用 libPng 解码时缩小图像

DownScaling Images when decoding with libPng

libjpeg-turbo,只要为缩放分子和分母提供适当的值,就支持在解码时缩小图像的能力。因此,如果在应用程序中使用,可以发出适当的请求来处理我们可能在低分辨率屏幕上显示图像的事实。这将导致更快的解码。

考虑到这一点,我想看看 libPng 是否也是如此,但是我看不到任何允许我请求缩小比例的参数。我在互联网上进行了一些搜索,但找不到任何东西,甚至在 libpng 文档中也找不到。

我是不是遗漏了什么或者 libpng 不支持解码时的缩小?

Libpng 不支持解码时缩小尺寸。可以通过忽略隔行扫描 PNG 的后续通道来实现二次幂缩小,但是(只读取 1/8 比例的第一通道,1/4 比例的前 3 通道,以及前 5 通道对于 1/2 比例)​​,但这实际上是缩减采样而不是缩减比例,因此它的质量会很差。有一个使用 libpng (contrib/gregbook/rpng2-x.c) 分发的演示,使用一个选项在每次通过后暂停。