JPEG 格式概觀
本主題提供透過 Windows 映像處理元件 (WIC) 取得之原生 JPEG 編解碼器的相關資訊。
編解碼器身分識別
下表提供編解碼器識別資訊。
元件 | Description |
---|---|
正式名稱 (s) | JPEG 格式 (JPEG) |
副檔名 (s) | 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) | 預設亮度資料表。 |
Chrominance | VT_UI4/VT_ARRAY | 64 個專案 (DCT) | 預設 chrominance 資料表。 |
JpegYCrCbSubsampling | VT_UI1 | WICJpegYCrCbSubsamplingOption | WICJpegYCrCbSubsampling420 |
SuppressApp0 | VT_BOOL | 真/假 | FALSE |
如果編碼器選項出現在編解碼器不支援的 IPropertyBag2 選項清單中,則會忽略它。
ImageQuality 選項
指定所需的影像逼真度。 0.0 表示可能的精確度最低,1.0 會指定最高的精確度。
預設值為 0.9。
BitmapTransform 選項
指定影像解碼期間要如何轉換影像。 此選項必須設定為其中一個 WICBitmapTransformOptions 列舉值。
預設值為 WICBitmapTransformRotate0。
亮度選項
指定要用於編碼的灰階亮度等級資料表。
Chrominance 選項
指定要用於編碼的 chrominance 資料表。
JpegYCrCbSubsampling 選項
指定要用於 YCrCb 編碼的子取樣比例。
預設值為 WICJpegYCrCbSubsampling420。
SuppressApp0 選項
指定是否要在編碼影像資料時隱藏 App0 中繼資料的寫入。
預設值為 FALSE。
解碼
WIC 解碼 API 設計成與編解碼器無關的編解碼器,且啟用 WIC 之編解碼器的影像解碼基本上相同。 如需影像解碼的詳細資訊,請參閱 解碼概觀。 如需使用解碼影像資料的詳細資訊,請參閱 點陣圖來源概觀。
原生 JPEG 編解碼器也支援畫面解碼上的 IWICBitmapSourceTransform ,新增解碼影像資料流程的 advaced 選項。 如需這些進階選項的詳細資訊,請參閱 點陣圖來源概觀。