如何减少Web的PNG文件大小?


16

我有一个透明背景的PNG-24文件,其当前大小为1.5 MB。如何减小尺寸或使用PNG-8文件格式并保持相同的质量?

在此输入图像描述

PNG文件来自:http//www19.zippyshare.com/v/69590430/file.html

示例图片上传我尝试了所有建议但没有好结果请指教

谢谢


你在使用Save For Web ......吗?它应该为您提供减小尺寸的选项,包括颜色深度。
詹姆斯P

您的示例图像是JPEG文件。如果你想让人们尝试不同的工具/方法,你应该提供一个PNG文件代替......!
Laurent Parenteau

网站上传者将其转换为jpg。这里是png文件s8.postimage.org/z4apal6z9/cw_Copy.png .....请不要使用posterize,因为它不能与我拥有的其他文件一起工作.....谢谢
Welliam

1
该链接也是JPEG。
Dan D.

Answers:


6

PNG是一种无损压缩格式 - 在不更改文件中的源材料的情况下,将压缩增加到默认的最高级别压缩之外的方法很少。减小尺寸的唯一真正方法是通过降低分辨率或颜色深度来改变图像,以便PNG压缩的复杂性降低。

如果您想要对图像进行高级别压缩而不关心无损数据存储,请使用JPEG。


4
我不会说很少。Photoshop的Save For Web非常糟糕,PNGOUT通常可以无损地将文件减少20-40%。Photoshop不支持PNG8 + alpha,对于某些图像,它可以小70%。
Kornel 2013年

我见过的最好的数字大约是8-15%但可以随意链接到更好的数据。
mikebabcock 2013年

1
我需要优化单个png文件并使用tinypng.com。它节省了我超过50%的空间。

9

RIOT可以做到这一点,还有更多。

Radical Image Optimization Tool(简称RIOT)是一款免费的图像优化器,可让您在保持最小文件大小的同时直观地调整压缩参数。

它使用并排(双视图)或单视图界面来实时比较原始图像和优化图像,并立即查看生成的文件大小。

图像优化器轻巧,快速且易于使用,但对高级用户而言功能强大。您将能够控制压缩,颜色数量,元数据设置等等,并为输出文件选择图像格式(JPEG,GIF或PNG)。

另一种可能性是使用pngquant,PNGOUT,和pngcrush的组合,如描述在这里,但是这是通过命令行。

以下是如何使用开源工具(我认为)pngquant + pngout + pngcrush通过命令行将png24图像转换为png8 for ie6 goodness的说明。

1-将图像量化为256(所以基本上是png8的外观,带有大的精灵或具有大颜色范围的精灵)。

pngquant 256 some_24_bit.png

2-转换图像形成png24到png8

pngout -c3 -d8 -y -force some_24_bit.png some_8_bit.png

3-压缩图像

pngcrush some_8_bit.png -bit_depth 8 -brute -rem alla -reduce some_8_bit_small.png


6

试试TinyPNG

从他们的网站:

它是如何工作的?

上载PNG(可移植网络图形)文件时,会合并图像中的相似颜色。这种技术称为“量化”。由于减少了颜色数量,因此可以将24位PNG文件转换为更小的8位索引彩色图像。所有不必要的元数据也被剥离。结果:微小的PNG文件,100%支持透明度。

他们有两个选择:

  • 将图像拖放到他们的网站上,然后自动处理。免费服务。(最多20张图像。每张最多5 MB)
  • Photoshop插件。这要花费$。

我还没有尝试过PS插件,所以无法评论它的工作情况。


这是一个非常好的提示,TinyPNG将我的24位PNG文件从Photoshop减少到200k到50k,并保留了混合透明度!感谢您的回复。注意它的图像质量几乎无法区分。
TripleAntigen

真的行!我的1MB PNG图像变为253KB而没有失去质量!
BrunoSerrano

5

如果您不介意命令行,请查看OptiPNG,它可能就是您所追求的。

OptiPNG是一种PNG优化器,可将图像文件重新压缩为更小的尺寸,而不会丢失任何信息。该程序还将外部格式(BMP,GIF,PNM和TIFF)转换为优化的PNG,并执行PNG完整性检查和更正。


谢谢,但没有太多优化!我上传了图像
Welliam

3

使用pngout和的deflopt组合。pngout将自动确定您的PNG颜色是否适合PNG-8并使用它。deflopt将从已优化的图像中挤出一些额外的字节 - 使用任何放气的数据是有用的,而PNG就是其中之一。


谢谢,但pngout失败只减少了几个kb !!
Welliam

1
你有没有期待魔法?您的图像清晰度超过256种颜色。将其分色以减少颜色数量。
Oleg V. Volkov

当尺寸从970减少到945时,这不是很好的结果,也不适用于我所拥有的其他PNG。
Welliam

3

在网站开发的上下文中处理带有alpha通道的PNG的一个好主意是让服务器为你做技巧:动态地将图像数据与服务器上的alpha通道分开,分别优化它们并使用它们重新组合它们。 canvas元素和浏览器中的一些JavaScript。当当!适用于所有现代浏览器。

这里解释了它是如何完成的:

http://headers-already-sent.com/artikel/shrinkimage-1/

您还可以找到包含PHP脚本和jQuery插件的完整ZIP包。让我们知道您对此的看法。


1

如果你真的需要缩小图像,并且所有简单的建议都不起作用,那么最终的答案是将图像分解为可压缩的部分,并使用脚本在客户端上重新组合它们。

来自问题的图像看起来像具有垂直线和一些斑点/噪声的颜色渐变。将其分解为以下层:

  1. 没有线条或噪音的颜色渐变。这将在PNG中很好地压缩,在JPEG中很好。更好的是,使用JavaScript在客户端上生成颜色渐变。你可以在不到200字节的JS中完成它。
  2. 垂直线条没有颜色或噪音。您可以将其压缩为单个4位通道(alpha或灰色)。您只需要1像素高的图像,可以拉伸。这将在PNG中非常好地压缩。
  3. 噪音。同样,您只需要一个4位通道(alpha或灰色)。没有颜色或线条,这应该在PNG或JPEG中非常好地压缩。

使用JavaScript将图层组合成单个图像,整个“图像”可以是15KB或更少。

这种工作几十年来一直是奥运会的行业标准,现在仍然如此。最棒的是,如果你像专业人士一样创建了你的图像,Photoshop已经拥有了所有这些单独的图层。


1

标准PNG文件已经是您可以使用的压缩程度最高的图像格式,因此为什么PNG文件被广泛用于网站上的图像,尤其是出于设计目的。

但是仍有一种方法可以进一步压缩PNG文件; 通过减少图像中使用的颜色数量。这通常可以将文件大小减少高达70%甚至更高。

我发现具有最高总体压缩百分比的最佳自动化免费软件是FileOptimizer,它使用多个引擎(即PngOptimizer,PNGOUT,pngwolf等)将图像压缩到尽可能小的尺寸。

另一个我发现效果很好的在线工具是:http//www.giftofspeed.com/png-compressor/


1

我来介绍一下FileOptimizer。它结合了各种图像优化方法(包括EXIF删除以节省一些额外的字节 - 可以关闭)。

测试结果和与其他解决方案的比较。

在此输入图像描述


0

ScriptPNG http://css-ig.net/scriptpng

它为您提供了大约10种不同的选择,包括有损!我尝试了一堆这个Windows批处理文件(带有一堆.exes)很棒

我个人用它压缩到8bit有损。不确定它是如何工作的,但我的截图看起来一样。我用它来压缩截图。我有大约2GB的png,现在只有700mb

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.