ビットマップ ソースの概要
このトピックでは、イメージのビットマップ ピクセルを表す主要な Windows イメージング コンポーネント (WIC) コンポーネントであるビットマップ ソースについて説明します。
このトピックは、次のセクションで構成されています。
ビットマップ ソース
IWICBitmapSource コンポーネントは、WIC の基本的な構成要素であり、1 つのピクセル セットを表します。 ビットマップ ソースには、マルチフレーム イメージの個々のフレームを指定することも、ビットマップ ソースに対して実行された変換の結果を指定することもできます。 IWICBitmapSource インターフェイスは、デコーダー フレーム IWICBitmapFrameDecode や IWICBitmapFlipRotator などの変換ビットマップ ソースなど、多くのプライマリ WIC インターフェイスのベースです。
次の表では、WIC によって提供されるさまざまなビットマップ ソース コンポーネントについて説明します。
ビットマップ ソース | 説明 |
---|---|
IWICBitmapFrameDecode | デコーダー イメージ フレームを表します。 |
IWICBitmap | ビットマップ ソースへの書き込み可能性とメモリ内表現を提供します。 |
IWICBitmapClipper | ビットマップ ソースを目的の四角形にクリップします。 |
IWICBitmapFlipRotator | ビットマップ ソースを目的の向きに反転または回転します。 |
IWICBitmapScaler | ビットマップ ソースを目的のサイズにスケーリングします。 |
IWICColorTransform | ビットマップ ソースのカラー コンテキストを変換します。 |
IWICFormatConverter | ビットマップ ソースのピクセル形式を変換します。 |
ビットマップ フレーム
最も一般的な IWICBitmapSource は 、IWICBitmapFrameDecode です。 このインターフェイスは、イメージ形式の実際のビットマップ データにアクセスするために使用されます。 多くの画像形式では 1 つのビットマップ フレームのみがサポートされ、GIF や TIFF などの他の形式ではイメージごとに複数のフレームがサポートされています。
イメージからビットマップ フレームを取得する例については、「イメージの フレームを取得する方法 」トピックを参照してください。
ビットマップ
IWICBitmap は、ビットマップ ソースに書き込み可能性と静的メモリ内の概念を追加します。 WIC ビットマップを使用すると、ユーザーはビットマップ ソースのピクセルに直接アクセスできます。 この直接アクセスは Lock メソッドによって提供され、ビットマップ ピクセルへの読み取りアクセスと書き込みアクセスの任意の組み合わせをサポートします。 Lock メソッドは、指定されたビットマップ四角形をロックし、ピクセルにアクセスするための IWICBitmapLock オブジェクトを提供します。
IWICBitmap オブジェクトと IWICBitmapLock オブジェクトの使用例については、「ビットマップ ソースのピクセルを変更する方法」トピックを参照してください。
ビットマップ ソースの変換
WIC には、ピクセル データを変換するいくつかの IWICBitmapSource インターフェイスが用意されています。 具体的には、WIC では、ピクセル データのスケーリング、クリッピング、回転、反転のためのビットマップ ソース変換が提供されます。 これらのビットマップ ソース変換は、 IWICBitmapClipper、 IWICBitmapScaler、 および IWICBitmapFlipRotator です。 これらのビットマップ ソースにはそれぞれ、新しい変換されたビットマップ ソースを初期化して作成するメソッドがあります。 たとえば、 IWICBitmapClipper には Initialize メソッドが含まれています。 このメソッドは、指定された WICRect の入力ビットマップ ソースのクリップされたピクセル データを使用して、クリッパー ビットマップ ソースを初期化します。
次のハウツー トピックでは、変換ビットマップ ソースのさまざまな使用方法について説明します。
ピクセル形式と色コンテキスト コンバーター
WIC には、ビットマップ ソースのピクセル形式と色コンテキストを変換するビットマップ ソースも用意されています。 WIC は、これらの操作に 対して IWICFormatConverter と IWICColorTransform を提供します。
IWICFormatConverter は 、特定のビットマップ ソースをあるピクセル形式から別のピクセル形式に変換します。
IWICFormatConverter の使用例については、「Direct2D を使用してビットマップ ソースを描画する方法」トピックを参照してください。
ビットマップ ソースの描画
WIC は静止画像コーデック テクノロジであり、画像データとメタデータを管理するために使用され、本質的にイメージをレンダリングする方法を提供しません。 ただし、ビットマップ ソースは、Direct2D、Windows グラフィックス デバイス インターフェイス (GDI)、Windows GDI+ など、いくつかの Windows グラフィックス テクノロジを使用して描画できます。 これらのテクノロジはそれぞれ、WIC との相互運用性のレベルが異なります。 Direct2D は、ID2D1Bitmap インターフェイスと ID2D1RenderTarget::CreateBitmapFromWicBitmap メソッドを介して直接相互運用性を提供しますが、GDI および GDI+ ではビットマップ ソース ピクセルをビットマップにコピーする必要があります。
次の例では、Direct2D を使用してビットマップ ソースを描画する方法を示します。
関連トピック