JPEG 格式概述

本主题提供有关通过 Windows 映像组件 (WIC) 提供的本机 JPEG 编解码器的信息。

编解码器标识

下表提供了编解码器标识信息。

组件 说明
正式名称 () 联合图像专家组 (JPEG)
文件扩展名 () jpe、jpeg、jpg
MIME 类型 (MIME type) image/jpeg,image/jpe,image/jpg
规范支持 JFIF 规范 1.02

 

下表列出了用于标识本机 JPEG 编解码器组件的 GUID。

组件 友好名称 GUID
容器格式 GUID_ContainerFormatJpeg 19e4a5aa-5662-4fc5-a0c01758028e1057
解码器 CLSID_WICJpegDecoder 9456a480-e88b-43ea-9e730b2d9b71b1ca
编码器 CLSID_WICJpegEncoder 1a34f5c1-4a5a-46dc-b6441f4567e7a676

 

编码

WIC 编码 API 设计为与编解码器无关,已启用 WIC 的编解码器的图像编码本质上是相同的。 有关使用 WIC API 进行图像编码的详细信息,请参阅 编码概述

编码器选项

启用 WIC 的编解码器在编码选项级别上有所不同。 编码器选项反映图像编码器的功能,每个本机编解码器都支持一组这些编码器选项。 编码器选项可以是所有启用 WIC 的代码的基本 WIC 支持选项, (但不一定受图像格式编解码器设计的) 或编解码器特定选项的支持。 为了在编码过程中管理这些编码选项,WIC 使用 IPropertyBag2 接口 。 有关使用 IPropertyBag2 接口进行 WIC 编码 的详细信息,请参阅 编码概述

JPEG 编解码器使用基本 WIC 选项。 下表列出了本机 JPEG 编解码器支持的 WIC 编码器选项。

属性名称 VARTYPE 值范围 默认值
ImageQuality VT_R4 0 - 1.0 0.9
BitmapTransform VT_UI1 WICBitmapTransformOptions WICBitmapTransformRotate0
亮度 VT_UI4/VT_ARRAY 64 个条目 (DCT) 默认亮度表。
色度 VT_UI4/VT_ARRAY 64 个条目 (DCT) 默认色度表。
JpegYCrCbSubsampling VT_UI1 WICJpegYCrCbSubsamplingOption WICJpegYCrCbSubsampling420
SuppressApp0 VT_BOOL / FALSE

 

如果编解码器不支持的 IPropertyBag2 选项列表中存在编码器选项,则会忽略该选项。

ImageQuality 选项

指定所需的图像保真度。 0.0 表示尽可能低的保真度,1.0 表示最高保真度。

默认值为 0.9。

BitmapTransform 选项

指定在图像解码期间如何转换图像。 此选项必须设置为 WICBitmapTransformOptions 枚举值之一。

默认值为 WICBitmapTransformRotate0

亮度选项

指定用于编码的灰度亮度级别表。

Chrominance 选项

指定要用于编码的色度表。

JpegYCrCbSubsampling 选项

指定要用于 YCrCb 编码的子采样比率。

默认值为 WICJpegYCrCbSubsampling420

SuppressApp0 选项

指定在对图像数据进行编码时是否禁止写入 App0 元数据。

默认值为 FALSE

解码

WIC 解码 API 设计为与编解码器无关,而启用 WIC 的编解码器的图像解码本质上是相同的。 有关图像解码的详细信息,请参阅 解码概述。 有关使用解码的图像数据的详细信息,请参阅 位图源概述

本机 JPEG 编解码器还支持帧解码上的 IWICBitmapSourceTransform ,添加用于解码图像流的 advaced 选项。 有关这些高级选项的详细信息,请参阅 位图源概述