世界若没有图片压缩,互联网将陷入瘫痪。浏览大图、社交动态和购物广告将在瞬间耗尽网络数据套餐带宽。但优化器到底是怎样在保持清晰度的情况下,让数兆的图片瞬间缩水的?
有损压缩与无损压缩对比
有损压缩 (如 JPEG、高比例 WebP)
有损压缩算法将整个图像划分为许多 $8 imes 8$ 的微小像素矩阵。由于人眼对“光影对比(亮度)”的敏锐度远高于对“色彩渐变细节(色度)”的识别,压缩算法会把高频处的颜色微小差别进行过滤。这极大地压低了字节大小,但过度压缩后会产生马赛克甚至使文字边缘变得极为毛躁。
无损压缩 (如 PNG、元数据剔除、索引色表)
无损压缩则是一像素不丢的极限优化,主要通过以下关键手段:
- 清除隐藏元数据 (EXIF 数据): 数码相机拍摄时常写入海量额外标签(镜头参数、GPS 经纬度、光圈设置等),这些文本元数据一被抹去,就能立马省去数十 KB 的非画面空间。
- 调色板优化: 一张图标如果总共只涉及32种不同的颜色,使用24位全色彩格式存储就会浪费大量空间。优化器将它转存为“索引图表(8-bit Index Mode)”,使每个像素存储所需位元下调 66% 以上!
- 数据冗余压缩 (LZ77 与 霍夫曼编码): 利用高等数学统计合并相同模式(例如:用“红色 $ imes 100$ 次”来代替写上一百遍“红色”)。
浏览器本地压图:为什么它安全且备受推崇?
传统的压图网站要求用户将文档上传到公司远程云服务器。而最新的在浏览器本地完成的离线算法,可以直接通过本地 Canvas 引擎打包、转换,让你的敏感报表和私密合照永远不出本机的电脑,速度极快且完全防范了信息泄漏风险。