

这两种完全不同的JPEG加载方式,你肯定见过!
source link: https://segmentfault.com/a/1190000040492071
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

现如今网站所使用的的图片格式多种多样,但是有一种图片格式占到了 74% 的使用量。它就是 JPEG,即联合图像专家组。这类文件的后缀通常为 .jpg 或 .jpeg,是摄影中常见的图片类型。
JPEG 和图像压缩
JPEG 是 1992 年开发的一种用于压缩图像的格式,是目前 Internet 上最常用的图像格式,主要用于一些高色深的照片和复杂的图形展示。JPEG 图像是使用有损压缩算法处理过的图像,在图像被压缩时,会丢失细节信息。这是因为创建 JPEG 图像的目的是最大限度地减少存储位数,从而有效地减小文件大小。
依靠压缩减少文件大小,既可以节省磁盘空间又能缩短传输和加载的时间。而更短的传输时间让图像在网站上的加载速度更快。但是,在大多数情况下,减小文件大小会对内容产生影响。就照片和图形来说,减小文件大小可能会导致图像质量降低。过度压缩虽然让文件加载速度快但也会严重影响观看效果。
而随着互联网速度越来越快,尤其到了 5G 时代,我们对图片和视频的清晰度也有了超高的要求。这就导致一些网站为了保证清晰度,图片的体积都非常大,我们在浏览时就不能一次性看全整张图,而需要等等图片逐渐加载。
通常网站使用的 JPEG 的内容显示通常有两种类型。
- 基线或标准 JPEG
- 渐进式 JPEG
基线 JPEG(Baseline JPEG)
这是标准的 JPEG 格式压缩,包括数码相机和图像编辑软件等一些成像产品都会支持。基线 JPEG 最常见的应用之一是在 Web 浏览器中呈现的图像。基线 JPEG 算法在从网络下载处理数据时逐行渲染图像。当数据从网络到达计算机的缓冲区时,数据以流的形式进行处理。虽然压缩数据的目的是减小文件大小以加快下载速度,但这也取决于网络的速度和计算机 CPU 处理数据的能力。如果应用程序支持,GPU 还有助于渲染大文件。压缩时大于 30 MP(百万像素)的大型高分辨率 RAW 图像文件可能需要更长的时间来下载和解码。这就会形成我们查看大图时比较常见的从上至下逐行显示,即首先显示图像的顶部。然后它会逐行加载到底部,直到显示出完整的图像。
这种加载方式在面对特别大的图片时,往往需要我们等待过长才能看到完整图片,很容易让网站流失用户。为此,网站一般会选择相对更好一点的方式渐进式 JPEG(Progressive JPEG)。
渐进式 JPEG(Progressive JPEG)
渐进式 JPEG(Progressive JPEG),即PJPEG,是该标准的三种流行压缩模式之一。渐进式 JPEG 以特定方式压缩照片和图形,与基线 JPEG 不同,PJPEG 在 Web 浏览器中呈现时,会首先给出模糊图像的外观。然后一点一点地开始图片渲染,直到它显示完全渲染的图像。浏览器实际上是逐行解释图像,但在占位符中提供了完整图像的模糊预览。随着 Web 浏览器的渲染引擎处理数据,图像的对比度开始变得更清晰、更详细。直到最后渲染完毕,用户将看到完整的清晰图像。
当然我们一直都在强调没有什么是完美的,PJPEG 也有不足,来详细看一下它的优缺点:
但是相比而言 PJPEG 能够起到一种很有意义的心理效果,让用户有东西可看,而不必坐着干等大型图像慢慢显示在屏幕上。
目前 PJPEG 适用于大部分常用的浏览器,包括 Chrome、Firefox 和 Internet Explorer 9 及更高版本。旧版本的 Internet Explorer 在显示渐进式 JPEG 时存在一些问题,不过这只是很小一部分用户。而不支持渐进式 JPEG 格式的浏览器会像普通 JPEG 一样加载照片。
创建 PJPEG
一般我们正常使用图形编辑软件时,软件会自动将照片和图形保存为普通 JPEG。如果需要创建渐进式 JPEG 则需要手动调整。比如在 Photoshop 中,将图像导出为 JPEG 后,在格式中勾选“连续”,即保存为 PJPEG。
还可以使用免费程序软件 IrfanView 创建渐进式 JPEG 。
什么什么?你说太麻烦?不怕不怕,我要放大招啦!
又拍云图片处理支持直接输出渐进式 JPEG 图片,使用 图片 URL + 间隔符 + /progressive/true 参数就可以,想用就用,不怕麻烦!
如果你是网站管理者,如果你正在被高清大图的加载方式所困扰,可以来尝试一下渐进式 JPEG 加载哦!除了支持图片输出设置,又拍云图片处理还支持图片缩小、放大、裁剪、图片水印、文字水印、锐化、高斯模糊等 40+ 功能,让您换个花样玩转图片处理。还在等什么,赶快来试一试吧!
Recommend
-
120
-
31
11月29日上午消息,市场研究机构Counterpoint Research最新的中东和非洲(后文简称MEA)手机市场数据描绘了一个中国用户完全不熟悉的市场, 在这里,来自中国的传音控股与华为抢滩市场,已经在中国没人理会的非智能手机...
-
29
优化│TSP中两种不同消除子环路的方法及callback实现(Python调用Gurobi求解)海德堡大学 交叉学科计算中心离散与组合优化实验室研究员作者:
-
5
微星确认英特尔Alder Lake-S会有两种不同的芯片,纯P-Core芯片面积减少25% 微星确认英特尔Alder Lake-S会有两种不同的芯片,纯P-Core芯片面积减少25%
-
6
编辑导语:一年一度的毕业季进行中,求职者在寻找工作的过程中,必定会面对面试这一道关卡。这篇文章作者从从招聘者和求职者两种不同视角,对面试这一过程进行了分析,感兴趣的小伙伴一起来看看吧。
-
7
两种不同的密码管理工具:Bitwarden vs 1Password-51CTO.COM 两种不同的密码管理工具:Bitwarden vs 1Password 译文 ...
-
7
Ubuntu 和 Manjaro:比较两种不同的 Linux 发行版体验 作者:Ankush Das 2022-09-07 08:44:28 Ubuntu 和 Manjaro到底有什么不同?Manjaro 的包管理器会更好用吗?Ubuntu 和 Manjaro 上的软件生态怎么样?接下来,...
-
7
承载ASP.NET应用的服务器资源总是有限的,短时间内涌入过多的请求可能会瞬间耗尽可用资源并导致宕机。为了解决这个问题,我们需要在服务端设置一个阀门将并发处理的请求数量限制在一个可控的范围,即使会导致请求的延迟响应,在极端的情况会还不得不放弃一些请求。AS...
-
5
大家好,我是TJ今天给大家推荐2个视频翻译工具,分别是:这两款工具的核心功能非常类似,核心提供一个视频语言翻译的能力。比如:你要看一个英文视频,它可以帮助你将这个英文视频变为中文视频,日文视频或者韩文视频等其他语言的视频。这里所说的语...
-
8
Google Pixel Watch 3 预计将有两种不同的尺寸 admin 2024年01月21日 21:00 Google Pixel Watch 2 是一款时尚的智能手表,具有出色...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK