JPEG,GIF,PNG或SVG - 你应该使用哪一个?
前端开发人员担心很多事情。图像管理和优化是其中的一部分。为什么?据说图像占网络的60%左右,因此作为前端开发人员,您很可能会使用图像。
在开始使用响应式图像课程之前,我并不在乎用于图像的图像格式。我的意思是,只要给我任何人......大声笑:)但是,采取这个过程,实际上改变了我对图像的看法,以及它们如何影响网页,以及为什么在任何时候都使用正确的图像格式很重要。这是因为作为前端开发人员,您不仅应该关注如何使图像在网页上显示出来,而且还希望它尽可能使用最小的文件大小而不会影响质量,您希望它能够响应,您想要它加载速度很快。
对于图像可用的不同文件格式,我们可能在每个点都面临一个关键问题,我应该使用哪种图像格式?JPEG,PNG,SVG或GIF?在我们得到这个问题的答案之前,让我们来看看这些文件格式。
JPEG
JPEG或JPG是联合图像专家组的首字母缩写。这是一种非常常见的图像格式。它是一种24位图像格式,这意味着JPEG图像可以合并和显示数百万种颜色 - 精确的1680万种颜色。这使得它们适用于超过256种颜色的照片和图像。
JPEG以有损格式存储数据。因此,当压缩时,它们会丢失一些图像细节以使文件变小。这使我们可以自由选择压缩JPEG文件的程度。所以对于制作较小的文件大小通常很有用。尽管如此,请小心压缩,以免得到与原始图像非常不同的压缩图像。
JPEG文件格式不适用于包含大量行和文本的图像,因为它们在压缩或放大后会因数据丢失而变得锯齿状。它也不支持透明度。
GIF
图形交换格式(GIF)是一种已经存在一段时间的图像格式。与JPEG不同,GIF仅支持256种颜色。虽然这听起来像很多颜色,但它实际上非常小,因为典型的照片通常有数千种色调。当照片转换为GIF格式时,这些色调将会丢失,因此,GIF对于照片或具有多种颜色的图像来说并不理想。
但是,GIF可以用于低像素到像素变化的图形,如徽标,图标和标志。这对于简单的动画非常棒。
与JPEG不同,GIF支持无损压缩,即在没有任何数据丢失的情况下完成压缩。
GIF的一个主要优势是其支持透明度的能力。这意味着您可以将GIF放在彩色背景或照片上,并且不会在其周围看到任何边框。但是,GIF透明度不具选择性。如果您使颜色透明,则该颜色在整个图像中将是透明的。多年来,GIF是支持透明度的唯一图像格式,但现在PNG和SVG也可以做到这一点。
PNG
PNG(便携式网络图形)是为网络设计的图像格式。它需要JPEG和GIF的最佳部分。它有两种格式:PNG-8和PNG-24。两种格式的主要区别在于它支持的颜色数量。虽然PNG-8最多可显示256种颜色,但PNG-24格式可显示数百万种颜色,适合拍摄照片。
与JPEG不同,它是一种无损文件格式。因此,它在压缩后保留其质量和细节。这导致更大的文件大小。所以它只能用于图像质量比文件大小更重要的图像。
PNG图像比GIF支持透明度更好。它还支持图像亮度控制,色彩校正和二维交错,这是逐行显示的一种方法。
PNG图像还支持嵌入文本,可以对图像内容进行短文本描述。这有助于搜索引擎根据此嵌入文本的内容搜索图像。
PNG图像不能动画。它不受所有网络浏览器的支持。
SVG
SVG(可缩放矢量图形)是矢量格式。由于可以用它完成许多令人惊奇的事情,它正在广泛流行。SVG是用基于XML的标记编写的,它就像HTML一样用于插图,与我们所讨论的其他图像格式截然不同。
SVG具有很强的可扩展性。它们是矢量,是从数学声明的形状和曲线等绘制而成的,因此像素不受限制,与其他依赖于像素的格式不同。无论屏幕的大小和放大倍数如何,它们都是一样的。这对于响应式设计非常有用。
SVG可以使用CSS和JavaScript进行修改。所以如果你需要一个可以在旅途中操作的图像,SVG是一个不错的选择。他们也可以使用CSS动画和JavaScript进行动画制作。
SVG通常具有较小的文件大小。SVG文件的大小取决于它的复杂程度,而不是它的大小。因此,对于几何形状和线条如徽标的简单图像,SVG可能会比任何光栅对象(JPEG,PNG)具有更小的文件大小。但对于复杂的图像或图形,它可能不会太小,可能不是一个完美的选择。
SVG最适合显示由线条和形状组成的徽标,图标,地图,旗帜,图表和其他图形。但对于复杂的图像,如包含大量线条和形状的照片,可能并不理想。虽然它在网络上看起来很漂亮,但它不是我们可以用来在网络上保存和上传图像的格式。
现在我们已经讨论了所有这些图像格式,让我们回到我们的大问题:我应该使用哪种图像格式?如果您仔细阅读以上所有内容,您会注意到每次都无法获得图像格式。没有最佳的图像格式。您选择使用的图像格式取决于场景以及您真正想要的内容。这是一张照片吗?你需要一个小文件大小?你需要它在所有屏幕上看起来不错吗?你需要动画吗?你想修改它吗?你......而且这个名单还在继续。
仅仅因为我希望你做出正确的选择,下面是每种图像格式的重要事实的概述。我相信它可以指导你选择。
JPEG
可以显示约1680万种颜色
有损压缩
不能动画
非常适合静止图像和照片
GIF
可以显示256种颜色
无损压缩
支持透明度
非常适合简单的动画
适用于平面颜色和图形没有渐变的图形
PNG
PNG-8:可以显示256种颜色
PNG-24:可以显示数百万种颜色
无损压缩
比GIF更好的透明度
不能动画
适用于图标;可在SVG格式不可用时使用
SVG
非常可扩展且非常适合响应式设计
可以使用CSS和JavaScript进行修改
较小的文件大小; 取决于图像的复杂程度
可以动画
伟大的标志,图标,地图,标志,图表等。
对照片不太好