次の方法で共有


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 対応コーデックのイメージ デコードは基本的に同じです。 画像のデコードの詳細については、「 デコードの概要」を参照してください。 デコードされたイメージ データの使用の詳細については、「 ビットマップ ソースの概要」を参照してください。