PS中存储PNG时的“交错”选项是什么意思
用于网页上,png 图片加载时:
- 非交错png,是浏览器从左到右,从上到下依次加载像素点的,我们看到的效果就是图像从上到下展开。
- 交错png,也是通过从左到右,从上到下,不同的是,它是(加载一个像素 > 间隔几个像素点 > 再加载一个像素 > 间隔几个像素点 > 再加载一个像素 ... ...)的方式。这样第一遍加载完后,能先看到一个图像大体轮廓,然后开始第二遍,又开始从头开始,从左到右,从上到下的加载 剩余像素。然后第三遍。这样我们看到的效果就是:图像是从一个模糊的大体,渐渐变清晰的效果。 不是清晰的从上到下显示出来。
交错是图片格式与浏览器的一个“协作协议”。是现代浏览器(Chrome、Safari、Firefox等)都支持的标准功能。
交错轻微增加文件体积。
交错非关键选项,效果上可能更贴合使用体验。
注意:多是用在网页上:
用在网页上,想让图片看起来“加载更快”:可以考虑开启“交错”。它能在图片还没完全加载时,就给人一个心理预期,尤其适合网站的Banner大图、文章配图等。
用于打印等:建议选择“无”。因为“交错”选项会轻微增加文件体积,且对打印效果没有任何影响。
| 加载场景 | 是否显示“交错”效果 | 原因分析 |
|---|---|---|
| 网页/浏览器 | ✅ 会 | 浏览器下载图片是边下边显示的。一旦收到足够的数据,就会立即渲染出模糊的全貌,让你看到“加载中”的效果。 |
| 客户端 App | ❌ 通常不会 | 绝大多数 App(如图库、微信)都是先下载完整文件到本地,然后再一次性显示。在等待下载的过程中,屏幕上是空白的,不会给你看模糊版。 |
简单原理解析:
普通PNG:数据按“光栅扫描顺序”排列。
第一行所有像素 → 第二行所有像素 → 第三行所有像素……
交错PNG:数据按“亚当7隔行算法”重新排列。
它会先提取所有第0、8、16行…的像素,再提取第0、4、12行…的像素,再提取第0、2、4、6行…的像素……(这只是简化说法,实际是7遍扫描,同时涉及行和列)。
这样重排后,文件的开头部分就已经包含了整个画面(虽然只占1/64的像素点)。浏览器一读到这些稀疏的像素,就会用简单的插值算法(比如最邻近法)把空缺的地方填上颜色,看起来就是低分辨率的模糊全图。
