常见的图像文件类型
下面列出了网络上最常用的图像文件格式。
缩写
文件格式
MIME 类型
文件扩展名
总结
APNG
动画便携式网络图形
image/apng
.apng, .png
无损动画序列的不错选择(GIF 性能较差)。AVIF 和 WebP 性能更好,但浏览器支持不如 APNG 广泛。
支持:Chrome, Edge, Firefox, Opera, Safari。
AVIF
AV1 图像文件格式
image/avif
.avif
由于其高性能和免版税图像格式,是图像和动画图像的不错选择。它提供比 PNG 或 JPEG 更好的压缩,并支持更高的色深、动画帧、透明度等。请注意,使用 AVIF 时,应包含对浏览器支持更好的格式的回退(即使用
支持:Chrome, Edge, Firefox, Opera, Safari。
GIF
图形交换格式
image/gif
.gif
基本图像和动画的不错选择。对于无损_和_索引静态图像,请选择 PNG;对于动画序列,请考虑 WebP、AVIF 或 APNG。
支持:Chrome, Edge, Firefox, IE, Opera, Safari。
JPEG
联合图像专家组图像
image/jpeg
.jpg, .jpeg, .jfif, .pjpeg, .pjp
静态图像有损压缩的不错选择(目前最受欢迎)。当需要更精确的图像再现时,请选择 PNG;如果需要更好的再现和更高的压缩,请选择 WebP/AVIF。
支持:Chrome, Edge, Firefox, IE, Opera, Safari。
PNG
便携式网络图形
image/png
.png
当需要更精确地再现源图像或需要透明度时,PNG 优于 JPEG。WebP/AVIF 提供更好的压缩和再现,但浏览器支持更有限。
支持:Chrome, Edge, Firefox, IE, Opera, Safari。
SVG
可伸缩矢量图形
image/svg+xml
.svg
矢量图像格式;适用于需要以不同尺寸精确绘制的用户界面元素、图标、图表等。
支持:Chrome, Edge, Firefox, IE, Opera, Safari。
WebP
Web 图像格式
image/webp
.webp
图像和动画图像的绝佳选择。WebP 提供比 PNG 或 JPEG 更好的压缩,并支持更高的色深、动画帧、透明度等。AVIF 提供略微更好的压缩,但在浏览器中的支持不如 WebP 广泛,并且不支持渐进式渲染。
支持:Chrome, Edge, Firefox, Opera, Safari
注意:与 WebP 和 AVIF 等较新格式相比,PNG、JPEG、GIF 等旧格式性能较差,但拥有更广泛的“历史”浏览器支持。随着不支持这些新格式的浏览器变得越来越不重要(即市场份额几乎为零),较新的图像格式越来越受欢迎。
以下列表包含网络上出现的图像格式,但应避免用于网络内容(通常是因为它们没有广泛的浏览器支持,或者有更好的替代品)。
缩写
文件格式
MIME 类型
文件扩展名
支持的浏览器
BMP
位图文件
image/bmp
.bmp
Chrome, Edge, Firefox, IE, Opera, Safari
ICO
Microsoft 图标
image/x-icon
.ico, .cur
Chrome, Edge, Firefox, IE, Opera, Safari
TIFF
标记图像文件格式
image/tiff
.tif, .tiff
Safari
注意:每种图像格式的缩写都链接到该格式的详细描述、其功能以及详细的浏览器兼容性信息(包括哪些版本引入了支持以及可能稍后引入的特定特殊功能)。
注意:Safari 11.1 增加了使用视频格式作为动画 gif 替代品的功能。没有其他浏览器支持此功能。有关更多信息,请参阅 Chromium 错误和 Firefox 错误。
图像文件类型详情
以下部分简要概述了网络浏览器支持的每种图像文件类型。
在下表中,术语每分量位数指的是用于表示每个颜色分量的位数。例如,8 的 RGB 色深表示红色、绿色和蓝色每个分量都由一个 8 位值表示。另一方面,位深是用于表示内存中每个像素的总位数。
APNG(动画便携式网络图形)
APNG 是一种由 Mozilla 首次引入的文件格式,它扩展了 PNG 标准,以增加对动画图像的支持。APNG 在概念上类似于已使用数十年的动画 GIF 格式,但功能更强大,因为它支持各种色深,而动画 GIF 仅支持 8 位索引颜色。
APNG 非常适合不需要与其他活动或音轨同步的基本动画,例如进度指示器、活动旋转器和其他动画序列。例如,APNG 是 Apple iMessage 应用程序(以及 iOS 上的消息应用程序)创建动画贴纸时支持的格式之一。它们也常用于网络浏览器用户界面的动画部分。
MIME 类型
image/apng
文件扩展名
.apng, .png
规范
W3C PNG 规范
浏览器兼容性
Chrome 59, Edge 12, Firefox 3, Opera 46, Safari 8
最大尺寸
2,147,483,647×2,147,483,647 像素
支持的颜色模式
颜色模式
每分量位数(D)
描述
灰度
1, 2, 4, 8, 和 16
每个像素由一个 D 位值组成,指示灰度像素的亮度。
真彩色
8 和 16
每个像素由三个 D 位值表示,指示红色、绿色和蓝色颜色分量的级别。
索引颜色
1, 2, 4, 和 8
每个像素是一个 D 位值,指示 APNG 文件中 PLTE 块中包含的颜色调色板的索引;调色板中的颜色都使用 8 位深度。
带 alpha 的灰度
8 和 16
每个像素由两个 D 位值表示:灰度像素的强度和 alpha 样本,指示像素的不透明度。
带 alpha 的真彩色
8 和 16
每个像素由四个 D 像素颜色分量组成:红色、绿色、蓝色和 alpha 样本,指示像素的不透明度。
压缩
无损
许可
根据 知识共享署名-相同方式共享许可协议 (CC-BY-SA) 3.0 或更高版本免费开放。
AVIF 图像
AV1 图像文件格式 (AVIF) 是一种功能强大、开源、免版税的文件格式,它将 AV1 比特流编码为高效图像文件格式 (HEIF) 容器。
注意:AVIF 有潜力成为网络内容图像共享的“下一个大事件”。它提供了最先进的功能和性能,并且没有阻碍类似替代方案的复杂许可和专利版税的困扰。
AV1 是一种最初为互联网视频传输而设计的编码格式。该格式受益于近年来视频编码的重大进步,并可能受益于相关的硬件渲染支持。然而,它在某些情况下也有缺点,因为视频和图像编码有一些不同的要求。
该格式提供
与 JPG 和 PNG 相比,在视觉相似的压缩级别下具有出色的有损压缩(例如,有损 AVIF 图像比 JPEG 图像小约 50%)。
通常,AVIF 比 WebP 具有更好的压缩——相同 JPG 集的平均压缩率为 50% vs. 30%(来源:AVIF WebP 比较 (CTRL Blog))。
无损压缩。
动画/多图像存储(类似于动画 GIF,但压缩效果更好)
Alpha 通道支持(即透明度)。
高动态范围 (HDR):支持存储能够表示图像最亮和最暗部分之间更大对比度的图像。
宽色域:支持包含更大范围颜色的图像。
AVIF 不支持渐进式渲染,因此文件必须完全下载才能显示。这通常对实际用户体验影响不大,因为 AVIF 文件比等效的 JPEG 或 PNG 文件小得多,因此可以更快地下载和显示。对于更大的文件大小,影响可能会变得显著,您应该考虑使用支持渐进式渲染的格式。
Chrome、Edge、Opera、Safari 和 Firefox 支持 AVIF。由于支持尚不全面(且历史深度较浅),您应该使用
MIME 类型
image/avif
文件扩展名
.avif
规范
AV1 图像文件格式 (AVIF)
浏览器兼容性
Chrome 85, Edge 121, Opera 71, Firefox 93, 和 Safari 16.1。
Firefox 93 支持静态图像,并支持全范围和有限范围的颜色空间,以及镜像和旋转的图像变换。偏好设置 image.avif.compliance_strictness 可用于调整与规范的合规严格性。
Firefox 113 及更高版本支持动画图像。
最大尺寸
2,147,483,647×2,147,483,647 像素
支持的颜色模式
颜色模式支持信息在 AV1 比特流和解码过程规范的 6.4.2 节:颜色配置语义中提供。
非详尽的摘要是
颜色模式:YUV444, YUV422, YUV420
灰度支持:YUV400
位数:8/10/12 位
Alpha 支持
ICC 配置文件支持
NCLX 支持:sRGB, 线性 sRGB, 线性 Rec2020, PQ Rec2020, HLG Rec2020, PQ P3, HLG P3 等。
分块支持
压缩
有损和无损。
许可
免版税。许可信息可在 许可页面获得。
BMP(位图文件)
BMP(位图图像)文件类型在 Windows 计算机上最为普遍,通常仅用于网络应用和内容中的特殊情况。
警告:您通常应避免在网站内容中使用 BMP 文件。最常见的 BMP 文件形式将数据表示为未压缩的栅格图像,导致文件大小与 PNG 或 JPG 图像类型相比过大。存在更高效的 BMP 格式,但它们并未广泛使用,也很少在网络浏览器中受支持。
BMP 理论上支持各种内部数据表示。最简单、最常用的 BMP 文件形式是未压缩的栅格图像,每个像素占用 3 字节,表示其红色、绿色和蓝色分量,每行用 0x00 字节填充到 4 字节的倍数。
虽然规范中定义了其他数据表示,但它们并未广泛使用,并且通常完全未实现。这些功能包括:支持不同的位深、索引颜色、alpha 通道和不同的像素顺序(默认情况下,BMP 从左下角向右和向上写入,而不是从左上角向右和向下写入)。
理论上,支持几种压缩算法,并且图像数据也可以以 JPEG 或 PNG 格式存储在 BMP 文件中。
MIME 类型
image/bmp
文件扩展名
.bmp
规范
无规范;但是,Microsoft 在 docs.microsoft.com/en-us/windows/desktop/gdi/bitmap-storage 提供了一般格式文档。
浏览器兼容性
所有版本的 Chrome、Edge、Firefox、Opera 和 Safari
最大尺寸
32,767×32,767 或 2,147,483,647×2,147,483,647 像素,具体取决于格式版本
支持的颜色模式
颜色模式
每分量位数(D)
描述
灰度
1
每个位代表一个像素,可以是黑色或白色。
真彩色
8 和 16
每个像素由三个值表示红色、绿色和蓝色颜色分量;每个都是 D 位。
索引颜色
2、4 和 8
每个像素由一个 2、4 或 8 位的值表示,作为颜色表的索引。
带 alpha 的灰度
不适用
BMP 没有独特的灰度格式。
带 alpha 的真彩色
8 和 16
每个像素由四个值表示红色、绿色、蓝色和 alpha 颜色分量;每个都是 D 位。
压缩
支持多种压缩方法,包括有损或无损算法
许可
受 Microsoft Open Specification Promise 涵盖;虽然 Microsoft 对 BMP 拥有专利,但他们已发布承诺,只要满足特定条件,就不主张其专利权。但这与许可证不同。BMP 包含在 Windows Metafile Format (.wmf) 中。
GIF(图形交换格式)
1987 年,CompuServe 在线服务提供商推出了 GIF(图形交换格式)图像文件格式,以提供一种所有服务成员都能使用的压缩图形格式。GIF 使用 Lempel-Ziv-Welch (LZW) 算法无损压缩 8 位索引彩色图形。GIF 是 HTML 支持的两种首批图形格式之一,与 XBM 同时。
GIF 中的每个像素由一个 8 位值表示,作为 24 位颜色调色板(红色、绿色和蓝色各 8 位)的索引。颜色表的长度总是 2 的幂(即,每个调色板有 2、4、8、16、32、64 或 256 个条目)。为了模拟超过 255 或 256 种颜色,通常使用抖动。从技术上讲,可以通过平铺多个图像块(每个块都有自己的颜色调色板)来创建真彩色图像,但实际上很少这样做。
像素是不透明的,除非某个特定的颜色索引被指定为透明,在这种情况下,该值的像素是完全透明的。
GIF 支持简单的动画,在初始全尺寸帧之后,提供一系列反映图像中随每个帧变化的图像部分。
几十年来,GIF 因其简洁性和兼容性而广受欢迎。其动画支持在社交媒体时代重新流行起来,当时动画 GIF 开始被广泛用于短“视频”、表情包和其他简单的动画序列。
GIF 的另一个流行功能是支持隔行扫描,其中像素行按乱序存储,以便以较低质量显示部分接收的文件。这在网络连接缓慢时特别有用。
GIF 是简单图像和动画的不错选择,尽管将全彩色图像转换为 GIF 可能会导致不令人满意的抖动。通常,现代内容应使用 PNG 用于无损_和_索引静态图像,并应考虑使用 APNG 用于无损动画序列。
MIME 类型
image/gif
文件扩展名
.gif
规范
GIF87a 规范GIF89a 规范
浏览器兼容性
所有版本的 Chrome、Edge、Firefox、Opera 和 Safari
最大尺寸
65,536×65,536 像素
支持的颜色模式
颜色模式
每分量位数(D)
描述
灰度
不适用
GIF 不包含专用灰度格式。
真彩色
不适用
GIF 不支持真彩色像素。
索引颜色
8
GIF 调色板中的每种颜色都定义为红色、绿色和蓝色各 8 位(每个像素总共 24 位)。
带 alpha 的灰度
不适用
GIF 不提供专用灰度格式。
带 alpha 的真彩色
不适用
GIF 不支持真彩色像素。
压缩
无损 (LZW)
许可
虽然 GIF 格式本身是开放的,但 LZW 压缩算法直到 21 世纪初才受到专利保护。截至 2004 年 7 月 7 日,所有相关专利均已过期,GIF 格式可自由使用。
ICO (Microsoft Windows 图标)
ICO (Microsoft Windows 图标) 文件格式由 Microsoft 设计,用于 Windows 系统的桌面图标。然而,早期版本的 Internet Explorer 引入了网站在其根目录中提供名为 favicon.ico 的 ICO 文件以指定 favicon 的功能 — 一个显示在收藏夹菜单以及其他需要网站图标表示的位置的图标。
ICO 文件可以包含多个图标,并以一个目录列表开头,其中包含每个图标的详细信息。目录之后是图标的数据。每个图标的数据可以是不带文件头的 BMP 图像,也可以是完整的PNG 图像(包括文件头)。如果使用 ICO 文件,则应使用 BMP 格式,因为 ICO 文件中对 PNG 的支持直到 Windows Vista 才添加,并且可能不受良好支持。
警告:ICO 文件不应用于网络内容。此外,它们用于收藏夹图标的使用已减少,转而使用 PNG 文件和 元素,如为不同使用场景提供图标中所述。
MIME 类型
image/vnd.microsoft.icon(官方), image/x-icon(Microsoft 使用)
文件扩展名
.ico
规范
浏览器兼容性
所有版本的 Chrome、Edge、Firefox、Opera 和 Safari
最大尺寸
256×256 像素
支持的颜色模式
BMP 格式的图标
颜色模式
每分量位数(D)
描述
灰度
1
每个位代表一个像素,可以是黑色或白色。
真彩色
8 和 16
每个像素由三个值表示红色、绿色和蓝色颜色分量;每个都是 D 位。
索引颜色
2、4 和 8
每个像素由一个 2、4 或 8 位的值表示,作为颜色表的索引。
带 alpha 的灰度
不适用
BMP 没有独特的灰度格式。
带 alpha 的真彩色
8 和 16
每个像素由四个值表示红色、绿色、蓝色和 alpha 颜色分量;每个都是 D 位。
PNG 格式的图标
颜色模式
每分量位数(D)
描述
灰度
1, 2, 4, 8, 和 16
每个像素由一个 D 位值组成,指示灰度像素的亮度。
真彩色
8 和 16
每个像素由三个 D 位值表示,指示红色、绿色和蓝色颜色分量的级别。
索引颜色
1, 2, 4, 和 8
每个像素是一个 D 位值,指示 APNG 文件中 PLTE 块中包含的颜色调色板的索引;调色板中的颜色都使用 8 位深度。
带 alpha 的灰度
8 和 16
每个像素由两个 D 位值表示:灰度像素的强度和 alpha 样本,指示像素的不透明度。
带 alpha 的真彩色
8 和 16
每个像素由四个 D 像素颜色分量组成:红色、绿色、蓝色和 alpha 样本,指示像素的不透明度。
压缩
BMP 格式的图标几乎总是使用无损压缩,但也有有损方法。PNG 图标总是无损压缩的。
许可
—
JPEG(联合图像专家组图像)
JPEG(通常发音为“jay-peg”)图像格式是目前最广泛使用的静态图像有损压缩格式。它特别适用于照片;对需要锐度的内容(如图表)应用有损压缩可能会产生不尽如人意的结果。
JPEG 实际上是压缩照片的数据格式,而不是文件类型。JFIF(JPEG File Interchange Format)规范描述了我们所说的“JPEG”图像文件的格式。
MIME 类型
image/jpeg
文件扩展名
.jpg, .jpeg, .jpe, .jif, .jfif
规范
jpeg.org/jpeg/
浏览器兼容性
所有版本的 Chrome、Edge、Firefox、Opera 和 Safari
最大尺寸
65,535×65,535 像素
支持的颜色模式
颜色模式
每分量位数(D)
描述
灰度
不适用
可以使用单个亮度通道 (Y) 支持真灰度。
真彩色
8
每个像素由红色、蓝色和绿色颜色分量描述,每个分量为 8 位。
索引颜色
不适用
JPEG 不提供索引颜色模式。
带 alpha 的灰度
不适用
JPEG 不支持 alpha 通道。
带 alpha 的真彩色
不适用
JPEG 不支持 alpha 通道。
压缩
有损;基于离散余弦变换
许可
截至 2006 年 10 月 27 日,所有美国专利均已过期。
PNG(便携式网络图形)
PNG(发音为“ping”)图像格式使用无损压缩,同时支持比 GIF 更高的色深,效率更高,并具有完整的 alpha 透明度支持。
PNG 得到广泛支持,所有主要浏览器都对其功能提供全面支持。
MIME 类型
image/png
文件扩展名
.png
规范
便携式网络图形 (PNG) 规范
浏览器兼容性
所有版本的 Chrome、Edge、Firefox、Opera 和 Safari
最大尺寸
2,147,483,647×2,147,483,647 像素
支持的颜色模式
颜色模式
每分量位数(D)
描述
灰度
1, 2, 4, 8, 和 16
每个像素由一个 D 位值组成,指示灰度像素的亮度。
真彩色
8 和 16
每个像素由三个 D 位值表示,指示红色、绿色和蓝色颜色分量的级别。
索引颜色
1, 2, 4, 和 8
每个像素是一个 D 位值,指示 APNG 文件中 PLTE 块中包含的颜色调色板的索引;调色板中的颜色都使用 8 位深度。
带 alpha 的灰度
8 和 16
每个像素由两个 D 位值表示:灰度像素的强度和 alpha 样本,指示像素的不透明度。
带 alpha 的真彩色
8 和 16
每个像素由四个 D 像素颜色分量组成:红色、绿色、蓝色和 alpha 样本,指示像素的不透明度。
压缩
无损,可选索引颜色,如 GIF
许可
©2003 W3C (MIT, ERCIM, 庆应义塾大学), 版权所有。W3C 免责声明, 商标, 文档使用 和 软件许可 规则适用。无已知版税专利。
SVG(可伸缩矢量图形)
SVG 是一种基于 XML 的矢量图形格式,它将图像内容指定为一组绘制命令,这些命令创建形状、线条、应用颜色、滤镜等。SVG 文件非常适合图表、图标和需要精确绘制的各种尺寸的其他图像。因此,SVG 在现代网页设计中常用于用户界面元素。
SVG 文件是包含源代码的文本文件,当解释时,这些源代码会绘制出所需的图像。例如,此示例定义了一个初始尺寸为 100x100 单位的绘图区域,其中包含一条对角线穿过框的线条
html
SVG 可以在网络内容中以三种方式使用
SVG 图像可以使用
可以在可以使用其他图像类型的所有地方使用 SVG 图像,包括 元素、background-image CSS 属性等。但是,当以这种方式使用 SVG 时,会有额外的限制。
SVG 是可以使用一系列绘图命令表示的图像的理想选择,特别是当图像的渲染大小未知或可能变化时,因为 SVG 将平滑缩放到所需大小。它通常不适用于严格的位图或摄影图像,尽管可以在 SVG 中包含位图图像。
MIME 类型
image/svg+xml
文件扩展名
.svg
规范
Scalable Vector Graphics (SVG) 2
浏览器兼容性
所有版本的 Chrome、Edge、Firefox、Opera 和 Safari
最大尺寸
无限制
支持的颜色模式
SVG 中的颜色使用 CSS 颜色语法指定。
压缩
SVG 源代码可以在传输过程中使用 HTTP 压缩技术进行压缩,或者在磁盘上作为 .svgz 文件进行压缩。
许可
©2018 W3C (麻省理工学院, ERCIM, 庆应义塾大学, 北京航空航天大学), 版权所有。W3C 责任, 商标, 文档使用 和 软件许可 规则适用。无已知版税专利。
TIFF(标记图像文件格式)
TIFF 是一种栅格图形文件格式,最初是为了存储扫描照片而创建的,尽管它可以是任何类型的图像。它是一种有点“重”的格式,因为 TIFF 文件往往比其他格式的图像更大。这是由于通常包含的元数据,以及大多数 TIFF 图像要么未压缩,要么使用压缩算法,这些算法在压缩后仍然会留下相当大的文件。
TIFF 支持多种压缩方法,但最常用的是传真软件使用的 CCITT Group 4(以及用于旧传真系统的 Group 3)压缩系统,以及 LZW 和有损 JPEG 压缩。
TIFF 文件中的每个值都通过其标签(指示它是何种信息,例如图像的宽度)和其类型(指示数据存储的格式)来指定,然后是分配给该标签的值数组的长度(所有属性都存储在数组中,即使是单个值)。这允许对相同的属性使用不同的数据类型。例如,图像的宽度 ImageWidth 使用标签 0x0100 存储,是一个单条目数组。通过指定类型 3 (SHORT),ImageWidth 的值存储为 16 位值
标签
类型
大小
值
0x0100 (ImageWidth)
0x0003 (SHORT)
0x00000001 (1 个条目)
0x0280 (640 像素)
指定类型 4 (LONG) 将宽度存储为 32 位值
标签
类型
大小
值
0x0100 (ImageWidth)
0x0004 (LONG)
0x00000001 (1 个条目)
0x00000280 (640 像素)
单个 TIFF 文件可以包含多个图像;例如,这可以用于表示多页文档(例如多页扫描文档或收到的传真)。但是,读取 TIFF 文件的软件只需要支持第一个图像。
TIFF 支持多种颜色空间,不仅仅是 RGB。这些包括 CMYK、YCbCr 等,这使得 TIFF 成为存储用于印刷、胶片或电视媒体的图像的良好选择。
除了 Safari,浏览器不原生支持网络内容中的 TIFF 图像,除非使用特殊的库或浏览器附加组件。因此,TIFF 文件不广泛用于显示网络内容,但是,在分发用于精确编辑或打印的照片和其他艺术作品时,通常会提供可下载的 TIFF 文件。
MIME 类型
image/tiff
文件扩展名
.tif, .tiff
规范
https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577413_pgfId-1035272
浏览器兼容性
Safari
最大尺寸
4,294,967,295×4,294,967,295 像素(理论值)
支持的颜色模式
颜色模式
每分量位数(D)
描述
双层
1
双层 TIFF 在每个字节中存储 8 位,每个像素一位。PhotometricInterpretation 字段指定 0 和 1 中的哪一个表示黑色,哪一个表示白色。
灰度
4 和 8
每个像素由一个 D 位值组成,指示灰度像素的亮度。
真彩色
8
所有真彩色 RGB 图像都使用红、绿、蓝各 8 位存储。
索引颜色
4 和 8
每个像素都是 ColorMap 记录的索引,该记录定义了图像中使用的颜色。颜色映射列出所有红色值,然后是所有绿色值,然后是所有蓝色值(而不是 rgb, rgb, rgb...)。
带 alpha 的灰度
4 和 8
通过在 SamplesPerPixel 字段中指定每个像素有超过 3 个样本,并指示 alpha 类型(1 代表关联的预乘 alpha 分量,2 代表非关联 alpha - 单独的蒙版),可以添加 Alpha 信息;然而,Alpha 通道在 TIFF 文件中很少使用,并且可能不被用户的软件支持。
带 alpha 的真彩色
8
通过在 SamplesPerPixel 字段中指定每个像素有超过 3 个样本,并指示 alpha 类型(1 代表关联的预乘 alpha 分量,2 代表非关联 alpha - 单独的蒙版),可以添加 Alpha 信息;然而,Alpha 通道在 TIFF 文件中很少使用,并且可能不被用户的软件支持。
压缩
大多数 TIFF 文件未压缩,但支持无损 PackBits 和 LZW 压缩,以及有损 JPEG 压缩。
许可
无需许可证(除了您可能使用的任何库相关许可证);所有已知专利均已过期。
WebP 图像
WebP 通过基于 VP8 视频编解码器的预测编码支持有损压缩,并通过使用重复数据的替代品支持无损压缩。有损 WebP 图像平均比视觉上相似压缩级别的 JPEG 图像小 25-35%。无损 WebP 图像通常比 PNG 格式的相同图像小 26%。
WebP 还支持动画:在有损 WebP 文件中,图像数据由 VP8 比特流表示,其中可能包含多个帧。无损 WebP 包含描述动画的 ANIM 块,以及表示动画序列帧的 ANMF 块。支持循环。
WebP 目前在主要网络浏览器的最新版本中得到了广泛支持,尽管它没有深厚的历史支持。请提供 JPEG 或 PNG 格式的回退,例如使用
MIME 类型
image/webp
文件扩展名
.webp
规范
RIFF 容器规范RFC 6386: VP8 数据格式和解码指南(有损编码)WebP 无损比特流规范
浏览器兼容性
所有版本的 Chrome、Edge、Firefox、Opera 和 SafariWebP 也可用于从 Canvas 导出图像。有关更详细的支持版本信息,请参阅 HTMLCanvasElement.toBlob()。
最大尺寸
16,383×16,383 像素
支持的颜色模式
有损 WebP 以 8 位 Y'CbCr 4:2:0 (YUV420) 格式存储图像。无损 WebP 使用 8 位 ARGB 颜色,每个分量占用 8 位,每个像素总共 32 位。
压缩
无损(霍夫曼、LZ77 或颜色缓存代码)或有损 (VP8)。
许可
无需许可证;源代码公开可用。
注意:在 macOS 上的 Safari 中,WebP 支持取决于 Safari 和 macOS 版本。您需要 Safari 14 或更高版本以及 macOS Big Sur (11) 或更新版本。
XBM (X Window System 位图文件)
XBM (X 位图) 文件是网络上最早支持的文件,但由于其格式可能存在安全隐患,目前已不再使用,应避免使用。现代浏览器多年来一直不支持 XBM 文件,但在处理旧内容时,您可能仍然会遇到一些。
XBM 使用 C 代码片段将图像内容表示为字节数组。每个图像包含 2 到 4 个 #define 指令,提供位图的宽度和高度(以及可选的热点,如果图像设计为光标),然后是一个 unsigned char 数组,其中每个值包含 8 个 1 位单色像素。
图像宽度必须是 8 像素的倍数。例如,以下代码表示一个 8 像素乘 8 像素的 XBM 图像,其像素呈黑白棋盘格图案
c#define square8_width 8
#define square8_height 8
static unsigned char square8_bits[] = {
0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55
};
MIME 类型
image/xbm, image-xbitmap
文件扩展名
.xbm
规范
None
浏览器兼容性
Firefox 1–3.5, Internet Explorer 1–5
最大尺寸
无限制
支持的颜色模式
颜色模式
每分量位数
描述
灰度
1
每个字节包含八个 1 位像素。
真彩色
不适用
不适用
索引颜色
不适用
不适用
带 alpha 的灰度
不适用
不适用
带 alpha 的真彩色
不适用
不适用
压缩
无损
许可
开源
选择图像格式
选择最适合您需求的图像格式可能比视频格式更容易,因为广泛支持的选项较少,并且每种格式往往都有特定的用例。
照片
照片通常通过有损压缩表现良好(取决于编码器的配置)。这使得 JPEG 和 WebP 成为照片的良好选择,其中 JPEG 兼容性更好,但 WebP 可能提供更好的压缩。为了最大化质量并最小化下载时间,请考虑使用回退,将 WebP 作为首选,JPEG 作为次选。否则,JPEG 是兼容性的安全选择。
最佳选择
回退
WebP 或 JPEG
JPEG
图标
对于图标等较小的图像,请使用无损格式,以避免在尺寸受限的图像中丢失细节。虽然无损 WebP 是此目的的理想选择,但支持尚未广泛,因此除非您提供回退,否则 PNG 是更好的选择。如果您的图像包含少于 256 种颜色,GIF 是一个选项,尽管 PNG 通常使用其索引压缩选项 (PNG-8) 压缩得更小。
如果图标可以用矢量图形表示,请考虑使用 SVG,因为它可以在各种分辨率和尺寸下平滑缩放,因此非常适合响应式设计。尽管 SVG 支持良好,但为了旧版浏览器提供 PNG 回退可能值得。
最佳选择
回退
SVG、无损 WebP 或 PNG
PNG
屏幕截图
除非您愿意牺牲质量,否则应为屏幕截图使用无损格式。如果您的屏幕截图中有任何文本,这一点尤为重要,因为文本在有损压缩下很容易变得模糊不清。
PNG 可能是您最好的选择,但无损 WebP 的压缩效果可能会更好。
最佳选择
回退
无损 WebP 或 PNG;如果压缩伪影不是问题,则使用 JPEG
PNG 或 JPEG;对于颜色数量较少的屏幕截图使用 GIF
图表、绘图和图示
对于任何可以使用矢量图形表示的图像,SVG 是最佳选择。否则,您应该使用 PNG 等无损格式。如果您确实选择有损格式,例如 JPEG 或有损 WebP,请仔细权衡压缩级别,以避免导致文本或其他形状变得模糊不清。
最佳选择
回退
SVG
PNG
提供图像回退
虽然标准的 HTML 元素不支持图像的兼容性回退,但
元素,该元素定义了图像的显示位置和回退到默认或“最兼容”版本。
例如,如果您要显示最好用 SVG 显示的图表,但希望提供图表的 PNG 或 GIF 回退,您可以这样做
html
src="diagram.gif"
width="620"
height="540"
alt="Diagram showing the data channels" />
您可以指定任意数量的
另见
媒体类型和格式指南
Web 媒体技术
网络上使用的视频编解码器指南
HTML 和
CSS background-image 属性
Image() 构造函数和 HTMLImageElement 接口
帮助改进 MDN
此页面对您有帮助吗?
是
否
了解如何贡献 此页面最后修改于 2025 年 6 月 27 日 由 MDN 贡献者。
在 GitHub 上查看此页面 • 报告此内容问题