BMP 形式の概要
このトピックでは、Windows イメージング コンポーネント (WIC) で使用できるネイティブ BMP コーデックについて説明します。
コーデック ID
次の表に、コーデック識別情報を示します。
コンポーネント | 説明 |
---|---|
仮名 | Windows ビットマップ形式 |
ファイル名拡張子 | bmp、dib |
MIME の種類 (MIME type) | image/bmp |
仕様のサポート | BMP 仕様 v5 |
次の表に、ネイティブ BMP コーデック コンポーネントを識別するために使用される GUID を示します。
コンポーネント | フレンドリ名 | GUID |
---|---|---|
コンテナーの形式 | GUID_ContainerFormatBmp | 0af1d87e-fcfe-4188-bdeba7906471cbe3 |
デコーダー | CLSID_WICBmpDecoder | 6b462062-7cbf-400d-9fdb813dd10f2778 |
エンコーダー | CLSID_WICBmpEncoder | 69be8bb4-d66d-47c8-865aed1589433782 |
Encoding
WIC エンコード API はコーデックに依存しないため、WIC 対応コーデックのイメージ エンコードは基本的に同じです。 WIC API を使用したイメージ エンコードの詳細については、「エンコードの 概要」を参照してください。
エンコーダー オプション
WIC 対応コーデックはエンコード オプション レベルで異なります。 エンコーダー オプションにはイメージ エンコーダーの機能が反映され、各ネイティブ コーデックではこれらのエンコーダー オプションのセットがサポートされます。 エンコーダー オプションは、WIC 対応のすべてのコードで使用できる基本的な WIC でサポートされるオプション (必ずしもサポートされているわけではありません) またはイメージ形式コーデックによって設計されたコーデック固有のオプションです。 エンコード プロセス中にこれらのエンコード オプションを管理するために、WIC は IPropertyBag2 インターフェイス を使用します。 WIC エンコードに IPropertyBag2 インターフェイスを使用する方法の詳細については、「 エンコードの概要」を参照してください。
次の表に、ネイティブ BMP コーデックでサポートされる WIC エンコーダー オプションを示します。
プロパティ名 | VARTYPE | 値の範囲 | 既定値 |
---|---|---|---|
EnableV5Header32bppBGRA | VT_BOOL | VARIANT_TRUE/VARIANT_FALSE | VARIANT_FALSE |
EnableV5Header32bppBGRA
GUID_WICPixelFormat32bppBGRAピクセル形式のデータのエンコードを許可するかどうかを指定します。 このオプションを VARIANT_TRUE に設定すると、BMP は BITMAPV5HEADER ヘッダーで書き出されます。
既定値は VARIANT_FALSE です。
コーデックがサポートしていない IPropertyBag2 オプション リストにエンコーダー オプションが存在する場合、それは無視されます。
16 ビットおよび 32 ビットの Windows BMP ファイルの場合、BMP コーデックはアルファ チャネルを無視します。多くのレガシ イメージ ファイルには、この追加チャネルに無効なデータが含まれています。 Windows 8以降、有効なアルファ チャネル コンテンツを持つ BITMAPV5HEADER を使用して書き込まれた 32 ビット Windows BMP ファイルは、WICPixelFormat32bppBGRA として読み取られます
デコード
WIC デコード API はコーデックに依存しないため、WIC 対応コーデックのイメージ デコードは基本的に同じです。 画像のデコードの詳細については、「 デコードの概要」を参照してください。 デコードされたイメージ データの使用の詳細については、「 ビットマップ ソースの概要」を参照してください。