2010-01-14 100 views
3

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

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

我试图导出PNG作为8位PNG和文件大小显着减少!

回答

4

尝试导出与8位PNG相同的PNG,并且文件大小显着减少。

步骤:

  • 打开PNG在Photoshop
  • 文件>另存为Web和设备
  • 选择 “PNG-8 128抖”,从 “预设” 下拉
  • 保存

将31kb图像缩小为10kb。

+1

但是,您失去了alpha透明度。 – 2012-10-22 01:58:25

+1

这只是Photoshop的bug /限制。您可以通过pngquant/[ImageAlpha](http://pngmini.com)获得8位*和* alpha透明度。 – Kornel 2012-12-18 14:08:13

5

你试过PNGOUT吗?

+1

+1 from me。为了增加这一点,PNG Gauntlet为您提供了一个很好的Windows前端到PNGOUT,如果你想要一个,它是免费的。 http://pnggauntlet.com/ – 2011-06-01 09:40:29

7

这与PNG压缩的工作方式有关。

与JPEG不同,PNG是无损格式,位置明智,但不一定颜色明智。

也就是说 - 而JPEG存储从一个区域到另一个区域的过渡颜色,PNG存储由像素的数据像素,然后进行可逆压缩该数据。

GIF和PNG之间的差异实际上来自传统约定 - GIF传统上保存为8位,而后来的PNG通常保存为32位(真实颜色+ alpha /透明度)。因此,32位图像的每个像素需要四倍的未压缩数据,并且取决于图像的细节,数据越详细,其无损压缩越严重。

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

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)。

希望这有助于你或其他人面临同样的问题,尽管这个问题已很旧:)

3

是的,你可以用较小的pngquant PNG 60-70%。有一个Mac GUI它。

它通过将RGBA PNG转换为8位调色板PNG,,与Photoshop不同,它保留了Alpha通道。

+0

太棒了。 谢谢。 – 2013-09-25 05:28:37

0

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

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

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