欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

横向对比GIF/JPEG/PNG/SVG 教你如何合理选择图像格式

程序员文章站 2023-12-05 14:06:34
图像格式是指计算机存储图像的方式。不同的文件格式决定着图像不同的展示效果以及下载方式,理想的文件格式可以使图像在不同的设备上都能良好的呈现,最大化发挥图像的效用。相反,不恰当的文件格式不但无法利用图片极佳的视觉效果,反而可能会在移动设备上出现显示不全等问题,影响网站的整体表现,降低用户体验的舒适度。...

横向对比GIF/JPEG/PNG/SVG 教你如何合理选择图像格式

 

图像格式是指计算机存储图像的方式。不同的文件格式决定着图像不同的展示效果以及下载方式,理想的文件格式可以使图像在不同的设备上都能良好的呈现,最大化发挥图像的效用。相反,不恰当的文件格式不但无法利用图片极佳的视觉效果,反而可能会在移动设备上出现显示不全等问题,影响网站的整体表现,降低用户体验的舒适度。那么在做网站时究竟怎样选择最适合的文件格式呢?位图和矢量图之间有什么不同?什么时候应该使用png?哪些地方应该选择svg呢?今天小飞就针对这些问题,好好聊一下图像文件的格式,介绍四种常见的图像格式,分析分析不同图像格式的适用情境。

四种常见的图像格式:

gif:图像互换格式

在网站中使用gif已经有一段历史了。尤其是在建站早期,由于网速较慢,gif凭借其体积小、成像相对清晰的特征俘虏了大批粉丝。gif是一种位图格式,支持透明背景图像。它可以分为静态gif和动态gif,动态gif主要是指能够储存多幅彩色图像,当我们将一个文件中的多幅图像数据逐个读出并显示到屏幕上,就能够构成一种简单的动画。网上很多流行的搞笑gif图就是这种格式。

横向对比GIF/JPEG/PNG/SVG 教你如何合理选择图像格式

 

jpeg:联合图像专家组

jpeg是jpg的全称,个人偏好不同在称呼上可能会有差异。你可以读"积派哥"也可以按照字母直接读j p e g。jpeg支持*别的压缩性能,同时具备比较好的重建质量,在摄影、视频处理领域广为应用。但是这种图像格式是一种有损压缩格式,虽然图像可以压缩到很小,但可能会丢失一些重复或者不重要的资料,破坏图像数据的完整性。不过,jpeg格式也很灵活,允许选择图像压缩的不同程度,从0%(重压缩)到100%(零压缩)。这样我们可以尽量在图像质量和文件尺寸之间找到一个平衡点,用最少的空间获取较好的图像质量。实践表明,60%到75%之间的压缩程度能够在很大程度上缩小文件尺寸,还能保证图像的较高品质。jpeg也是一种位图格式,但它不支持透明背景图像,更加适合颜色复杂的图像。

横向对比GIF/JPEG/PNG/SVG 教你如何合理选择图像格式

 

png:可移植网络图形格式

从某种程度上来说,png是gif和jpeg的结合体。这是因为它设计之初的目的就是试图取代gif和jpeg格式,增加一些这两种文件格式所不具备的特性。一方面,与gif格式相比,虽然gif支持透明背景颜色,但它只有1和0两种透明信息,只有透明和不透明之分,而png支持α频段0到255的透明信息,可以使图像的透明区域层次分明,同时还能让彩色图像和背景图片的边缘呈现完美平滑的融合。另一方面,与jpeg相比,由于png使用特殊的编码方法标记重复出现的数据,它可以实现图像高压缩比,便于网络传输,与此同时保留与图像有关的所有细节,不降低图像质量。这也是png最大的特点所在。png适合需要重新编辑、颜色复杂或需要透明度的图像,但它并不能普遍兼容每个应用程序和平台。png还可以分为png8和png24两种格式,png8是用8位索引值在调色板上找到一个颜色,png24是用24位来保存一个像素值。png格式还常作为图片素材来使用。

横向对比GIF/JPEG/PNG/SVG 教你如何合理选择图像格式

 

svg:可缩放矢量图形

与上面三种图像格式最大的不同在于,svg并不是位图格式,而是一种矢量图形格式,这意味着它可以在任意分辨率上显示,而不破坏图像的清晰度和细节 。这是因为位图图像储存图像上每一点的像素值,而矢量图像用点和线来描述物体,能够提供清晰的画面。另外,svg图像中的文字虽然能呈现图像化的修饰效果,但却仍是以文本的形式存在的,能够为搜索引擎蜘蛛读取,还便于有视觉障碍的读者使用工具进行浏览。一般来说,svg文件要比jpeg和gif的文件要小,在下载或移动设备上显示时速度也更快。还有一点,svg图形很是灵活,我们可以在这样的矢量图形之中嵌入位图图形。下图为一些svg矢量图标。

横向对比GIF/JPEG/PNG/SVG 教你如何合理选择图像格式

 

不同文件格式的适用情境:

gif格式现在主要用来创造有趣的动画,动态gif应用的比较广,而在静态图像上应用基本上已经被png格式所取代了。小飞在这就不过多讨论gif格式了,一起看看其他三种文件格式的适用情境吧!

什么时候应该使用jpeg?

从上面介绍的jpeg的特性来看,它更适合用来存储具有丰富色彩层次的摄影或写实照片。这是因为色彩层次丰富的图像一般会由于阴影、反光或透视等效果形成明暗、深浅不同的区域,如果我们选择使用png8来储存的话,可能一些颜色在调色板上找不到,导致图像上一些数据的丢失,如果使用png24的话,它确实可以查找到图像不同层次的颜色,但它会因数据较多增大图片的体积,严重拖慢加载速度,在网站上也容易显示不全。所以,jpeg是最好的选择,它能在尽量压缩文件大小的情况下较好的还原图片的品质(见下图)。为什么这里不使用svg呢?svg有自身的局限性,由于它是点和线精准计算的,一些位图如摄影元素svg无法实现合适的缩放。

横向对比GIF/JPEG/PNG/SVG 教你如何合理选择图像格式

 

什么时候应该使用png?

对于一些相对简单的图像来说,使用png格式进行保存更加适合。以下图为例,我们可以清晰的看出使用jpg格式完全不压缩图像时文件的大小是使用png格式的5倍多,就算是以45%的程度进行压缩,文件仍是比png格式的大,而且图像还出现了失真的问题。相对而言,png格式能在保存很少色彩的情况高度还原这个图像。现在用户平均等待网页加载的时间只有1-3秒,加载速度(受文件大小影响)很大程度上决定了网站的流量,尤其是在移动设备上,使用png就可以解决这一问题。另外,在网站需要使用透明背景图片时,png格式也是比较好的选择。

横向对比GIF/JPEG/PNG/SVG 教你如何合理选择图像格式

 

什么时候使用svg?

svg主要用来显示矢量图,例如一些形状、线和点的组合,所以目前很多主流的图标库都提供svg格式的文件。在做网站时我们经常会遇到这样一个问题:是否使用的图片要为高分辨率的浏览器做一些特别的设置?其实,这个问题的答案取决于你的目标访客以及他们的浏览需求,毕竟用户为先嘛。如果希望自己的网站可以很好的适应不同的屏幕分辨率时,使用svg格式会方便得多。前面小飞也介绍过,svg是可以完美适用任何屏幕尺寸还不有损图片质量的矢量格式,占服务器的空间也很小。另外,如果你想要在网站中应用悬浮效果或微妙的动画,svg也是比较好的选择,因为它可以作为代码输出,,使用css或javascript进行编辑。其实svg也可以包含位图(也就是git、png或者jpeg),还可以被用来做js控制的动画。在html5的时代,svg的用途将会越来越广泛。

横向对比GIF/JPEG/PNG/SVG 教你如何合理选择图像格式

 

总而言之,如果网站中需要使用位图(更易模仿照片的真实效果,表现力强),可以根据不同的情况选择,如不要求透明度使用jpeg,支持透明背景图像使用png;如果想要使用矢量图(适应任意分辨率而不失真),使用svg格式!由于svg这一特点,不少人认为svg格式和响应式网站更配哦,但这并不意味着网站中不能使用位图。你怎么看?欢迎踊跃留言。快来起飞页自助建站平台()做一个网站吧!

相关标签: 起飞页建站