WIC API 概觀

Windows 映像元件 (WIC) 提供元件物件模型 (COM) 型 API,以用於 C 和 C++。 WIC API 會公開各種影像相關功能,包括:

  • 標準 Web 影像格式的內建編解碼器。
  • 標準元資料格式的內建支援。
  • 各種像素格式支援。
  • 高色彩支援;包括 30 位擴充範圍、30 位高精確度,以及 48 位高精確度和寬遊戲像素格式。
  • 影像編解碼器、像素格式和元資料格式的可延伸架構。

本主題包含下列主題。

WIC 標頭檔

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 作為額外的連結器相依性。

Class Factory

下表描述 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 用來從檔案、網路資源、記憶體區塊等讀取和寫入資料。
格式轉換器 用來從一個像素格式轉換成另一個像素格式。
中繼資料查詢讀取器 用來讀取影像或影像框架的中繼資料。
中繼資料查詢寫入器 用來將中繼資料寫入影像或影像框架。

 

另請參閱

參考

範例和程式碼範例