WIC API 概觀
Windows 映像元件 (WIC) 提供元件物件模型 (COM) 型 API,以用於 C 和 C++。 WIC API 會公開各種影像相關功能,包括:
- 標準 Web 影像格式的內建編解碼器。
- 標準元資料格式的內建支援。
- 各種像素格式支援。
- 高色彩支援;包括 30 位擴充範圍、30 位高精確度,以及 48 位高精確度和寬遊戲像素格式。
- 影像編解碼器、像素格式和元資料格式的可延伸架構。
本主題包含下列主題。
WIC API 定義于下列標頭和介面定義語言 (IDL) 檔案中:
檔案 | 描述 |
---|---|
wincodec.h | 定義主要 WIC API 的 C 和 C++ 版本。 |
wincodec.idl | 定義主要 WIC 介面。 |
wincodecsdk.h | 定義中繼資料 WIC API 的 C 和 C++ 版本。 |
wincodecsdk.idl | 定義 WIC 中繼資料介面。 |
wincodec_proxy.h | 定義 WIC Proxy 匯出。 |
若要使用 WIC,您的應用程式必須包含 wincodec.h 和/或 wincodecsdk.h,視您的應用程式所需的 API 而定。
WIC 程式庫檔案:
檔案 | 描述 |
---|---|
windowscodecs.lib | Windows 軟體發展工具組所提供的匯入程式庫 (SDK) 。 |
windowscodecs.dll | 作業系統所提供的庫存實作程式庫。 |
若要連結至 WIC API,您的應用程式必須包含 windowscodec.lib 作為額外的連結器相依性。
下表描述 WIC API 提供的兩個 COM 類別處理站,以建立 WIC 元件。
Factory 介面 | Description |
---|---|
IWICImagingFactory | 使用 WIC 元件進行應用程式開發的主要類別處理站。 此處理站會建立影像解碼器、編碼器和資料流程等元件。 |
IWICComponentFactory | 以 WIC 元件開發人員為目標的類別處理站。 從此處理站建立的元件主要用於編解碼器和元資料處理程式開發。 |
若要建立任一類別處理站,請使用 CoCreateInstance COM 函式。 下列範例示範如何建立 WIC 映射處理站。
// Initialize COM
CoInitialize(NULL);
// The factory pointer
IWICImagingFactory *pFactory = NULL;
// Create the COM imaging factory
HRESULT hr = CoCreateInstance(
CLSID_WICImagingFactory,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&pFactory)
);
WIC API 提供數種類型的映射元件。 下表說明一些常見的 WIC 元件。 如需可用元件的完整清單,請參閱 WIC 介面。
元件類型 | Description |
---|---|
點陣圖 | 表示 IWICBitmapSource的可寫入記憶體內標記法。 |
解碼 器 | 用來將資料流程的影像資料解碼成適用于影像處理的格式。 |
編碼器 | 將影像資料寫入資料流程。 |
Stream | 用來從檔案、網路資源、記憶體區塊等讀取和寫入資料。 |
格式轉換器 | 用來從一個像素格式轉換成另一個像素格式。 |
中繼資料查詢讀取器 | 用來讀取影像或影像框架的中繼資料。 |
中繼資料查詢寫入器 | 用來將中繼資料寫入影像或影像框架。 |