WIC API の概要

Windows イメージング コンポーネント (WIC) は、C および C++ で使用するためのコンポーネント オブジェクト モデル (COM) ベースの API を提供します。 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 プロキシのエクスポートを定義します。

 

WIC を使用するには、アプリケーションが必要とする API に応じて、アプリケーションに wincodec.h または wincodecsdk.h を含める必要があります。

ライブラリ ファイル

WIC ライブラリ ファイル:

ファイル 説明
windowscodecs.lib Windows ソフトウェア開発キット (SDK) によって提供されるインポート ライブラリ。
windowscodecs.dll オペレーティング システムによって提供されるストック実装ライブラリ。

 

WIC API にリンクするには、アプリケーションに追加のリンカー依存関係として windowscodec.lib を含める必要があります。

クラス ファクトリ

次の表では、WIC コンポーネントを作成するために WIC API によって提供される 2 つの COM クラス ファクトリについて説明します。

ファクトリ インターフェイス 説明
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 インターフェイスを参照してください。

コンポーネントの種類 説明
Bitmap IWICBitmapSource の書き込み可能なメモリ内表現を表します。
デコーダー ストリームから画像データを、画像処理に役立つ形式にデコードするために使用されます。
エンコーダー イメージ データをストリームに書き込みます。
ストリーム ファイル、ネットワーク リソース、メモリ ブロックなどのデータの読み取りと書き込みに使用されます。
書式コンバーター あるピクセル形式から別のピクセル形式に変換するために使用されます。
メタデータ クエリ 閲覧者 イメージまたはイメージ フレームのメタデータを読み取るために使用されます。
メタデータ クエリ ライター メタデータをイメージまたはイメージ フレームに書き込むのに使用されます。

 

参照

参照

サンプルとコード例