PNG压缩

时间:2010-01-14 05:24:50

标签: image optimization png

一些PNG图像虽然只有150px x 160px宽,但有60KB文件大小。我已经通过优化器(适用于Mac的ImageOptim)运行它们,但这并没有多大帮助。

有没有办法进一步压缩它,手动或使用其他工具?普通150x160图像60KB是非常不可接受的,我不能在那里使用JPG或GIF,因为我需要透明度。

我尝试将PNG导出为 8位PNG ,文件大小明显减少!

7 个答案:

答案 0 :(得分:8)

这与PNG压缩的工作原理有关。

与JPEG不同,PNG是一种无损格式,位置方面,但不一定是颜色方式。

那就是 - 当JPEG存储颜色从一个区域转换到另一个区域时,PNG逐个像素地存储数据,然后无损地压缩这些数据。

GIF和PNG之间的差异实际上来自传统惯例 - 传统上GIF保存为8位,而稍后出现的PNG通常保存为32位(真彩色+ alpha /透明度)。因此,32位图像每个像素需要四倍的未压缩数据,并且根据图像的具体情况,数据越详细,它就越无损压缩。

因此,如果您要将8位PNG与8位GIF进行比较,则文件大小应非常相似。真彩色PNG与真彩色GIF相同。这解释了为什么选择8位选项将解决文件大小问题。否则,它实际上是一个压缩的BMP。

答案 1 :(得分:5)

您是否尝试过PNGOUT

答案 2 :(得分:5)

Smashing Magazine上有一些关于优化PNG图像的好文章Clever PNG Optimizaiton TechniquesPNG Optimization Guide: More Techniques。这些关注于您可以对源图像进行的操作,以使它们更好地用于PNG压缩器。

除此之外,我建议使用OptiPNGPNGCRUSH等工具。

答案 3 :(得分:4)

尝试将相同的PNG导出为8位PNG,文件大小明显减少。

步骤:

  • 在Photoshop中打开PNG
  • 文件>节省Web和设备
  • 从“预设”下拉列表中选择“PNG-8 128 Dithered”
  • 保存

将31kb图像缩小为10kb。

答案 4 :(得分:3)

是的,您可以使用pngquant将PNG缩小60-70%。它有一个Mac GUI

它的工作原理是将RGBA PNG转换为8位调色板PNG,,与Photoshop不同,它保留了Alpha通道。

答案 5 :(得分:2)

我们在大多数最新网站项目中遇到过类似的问题/问题,并通过PHP,.htaccess和Javascript开发了解决方案。我写了两篇关于理论(part 1: "shrinkImage - A method to reduce the filesize of PNG-images with full alpha-channel by about 70-80%")和我们最终得到的实用jQuery插件的文章(part 2: "shrinkImage continued - jQuery plugin and automatic generation")。

如果问题的背景在网络服务器上使用,则可以选择将其检出。

我们解决方案的背景(简而言之)是将alpha通道与图像的其余部分分开,并将其保存为相当小的PNG,将颜色信息保存为JPEG,并使用可变压缩,并将两者作为JSON文件存储在我们的服务器上这是由jQuery插件通过HTML5 Canvas请求和处理的(如果支持,则插件优雅地回退到原始PNG)。

希望这可以帮助您或其他任何面临同样问题的人,即使问题相当陈旧:)

答案 6 :(得分:0)

它已在评论中被引用,但它应该得到自己的答案。刚刚下载了PNG Gauntlet。这正是我所需要的,因为有些人真的不想学习命令行开关和PNG选项:一个简单,易于使用的Windows实用程序,您只需添加图像并单击按钮。

我从阅读其他网站时得到的印象是它不是世界上最快的工具,但对我来说这不是问题(一旦你获得了压缩图像,你排序了。

第一个文件从126k减少到47k,这对我有用。