图片压缩听起来神秘,其实核心就是一句话:用更少的数据表示同一张图。具体怎么做,取决于格式和算法。
无损压缩:一个字节都不少
PNG采用无损压缩,通过预测加去冗余的方式重新编码像素数据,解压后和原图一模一样。但无损压缩空间有限,对照片这种细节繁多的图效果一般。
有损压缩:利用眼睛的弱点
JPG是有损格式。它先利用人眼对亮度敏感、对色彩不敏感的特点,压缩色彩信息;再把图片分成8×8的小块,用数学变换(DCT)把像素转换为频率数据,舍弃人眼不易察觉的高频细节。这一舍弃就是体积大幅缩小的关键。
为什么照片选JPG,图标选PNG
照片色彩渐变丰富、细节多,有损压缩收益大;图标、文字截图有大面积纯色区域,无损压缩就能压得很好,还保留锐利边缘,所以PNG更合适。
压缩参数
质量参数越高,舍弃越少,文件越大。一般70%到85%质量是画质与体积的平衡点,肉眼基本看不出差别。