网站图片优化-解码JPEG
首先,老大拿了两个网站工具的分析跟我说,让我分析一下我们网站的图片有没有什么方法优化。
【网站分析工具】
webpage test: http://www.webpagetest.org/
谷歌pagespeed insights: https://developers.google.com/speed/pagespeed/insights/
【图片格式与编码】
我们网站png很少,主要是jpg。
JPEG的编码规则见度娘 http://baike.baidu.com/view/7679.htm
另一种更好的理解是借助Photoshop的3个编码选项 http://www.photoworld.com.cn/post/8614
1. 基线(“标准”)
2. 基线已优化
3. 连续(3/4/5)
总体上讲就是基线编码和连续编码。基线编码可做无损的哈夫曼编码优化。连续编码就是传说中的渐进式图片,这种需要浏览器支持JPEG2000。
【我们讲的是无损压缩】
JPEG是有损压缩格式,压缩图片大小的代价是失真。然而也还是有无损压缩的部分,比如刚才说的哈夫曼编码优化。
然而我们的图片已经是优化过的,为什么谷歌还提示能进一步压缩?
通过分析谷歌优化前优化后图片的元数据发现,JPEG图片中其实保存着EXIF即相机信息和编辑器信息。但这不是大头,只有24字节。
最天杀的元数据大约有900字节的信息是个叫XMP的东西。。。大概就是PS的编辑信息。所以谷歌所说的优化,就是移除图片的元信息。
【图片压缩工具】
分析过程中用到的工具:
JPEGsnoop | 在windows下使用,用于分析图片的元信息和编码情况 |
jpegtran | 谷歌推荐的压缩工具,在linux下压缩图片、移除元信息 |
coobird.thumbnailator | java中的图片压缩工具,底层实现是调用java的ImageIO |
Photoshop | Adobe的知名的图片编辑图片转换工具 |
最后的结论是。。。PS就能解决的问题,搞那么复杂作甚。。。哈哈~