原始PNG图像为800x1200,占用大约34K。在图形通过GraphicsMagick调整为320x480尺寸后,生成的图像占用大约37K。 (为了进行比较,如果在Windows 7上使用Paint调整图像大小,则生成的图像为40K。)是什么给出的?调整图像大小的重点是节省空间。如何使用GraphicsMagick缩小图像大小?
答案 0 :(得分:4)
PNG是一种无损格式,通过首先执行称为预测的步骤然后应用zlib中使用的相同算法来压缩图像数据。预测步骤是有效压缩文件的关键步骤,它基于较早邻居像素的值。
所以,假设你有一个黑色的大型PNG&白色(据说我的意思是只有黑色和白色,有些人有时会用灰度来混淆)。还假设它不是一个很小的棋盘图案。在此图像的许多区域中,您将拥有相对较大的白色区域,然后是相对较大的黑色区域,依此类推。当预测器位于这些大区域中的一个区域内时,正确预测当前像素强度与最后一个像素强度完全相等没有任何问题。这样可以更轻松地压缩描述图像的数据。
现在,让我们缩小这个黑色&白色图像使用一些不同于最近邻居的重采样过滤器(让我们说Lanczos)。这有很大的机会让你的黑&白色图像变成灰度图像,具有更大的强度范围。这可能会使预测器的工作变得更加困难,因此最终的文件大小可能会更大。
例如,这是一个黑色&白色256x256 PNG图像,需要5440个字节,调整大小(使用3瓣Lanczos)到120x120,现在需要7658个字节,另一个调整大小(使用最近邻居)到120x120,占用2467个字节。
答案 1 :(得分:1)
PNG是一种压缩格式。有时尝试压缩最大压缩项目实际上会导致更大的项目。因此,如果将800x1200调整为较小的尺寸,但结果会保留原始内容中的所有内容,因为原件已尽可能小,您可以看到这种情况发生。为了证明这一点,尝试使用7zip压缩一些超压缩数据。然后尝试压缩压缩文件。第二个压缩文件通常会比第一个压缩文件大。