トップページ> 書庫> Visual C++/MFC 俺的メモ> Platform SDK 日本語訳> BITMAPINFO 構造体

BITMAPINFO 構造体
BITMAPINFO
BITMAPINFO 構造体は、DIB のサイズと色に関する情報を定義します。
typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; } BITMAPINFO, *PBITMAPINFO;
メンバ
bmiHeader
色フォーマットとサイズに関する情報を保持している、BITMAPINFOHEADER 構造体を指定します。
bmiColors
bmiColors メンバは、以下のうちの一つを保持します:
  • RGBQUAD の配列。配列の要素は色テーブル(訳注:パレット?)を構成します。
  • 現在使用されている論理パレットへのインデックスを指定する、16ビット符号無しの整数の配列。
    bmiColors のこの使用方法は、DIBを使用するファンクションに許されています。(?)
    bmiColors の要素が現在使用されている論理パレットへのインデックスを含む場合、以下のビットマップ ファンクションも呼ぶ必要 があります:

    • CreateDIBitmap
    • CreateDIBPatternBrush
    • CreateDIBSection

    CreateDIBSection の iUsage パラメータは、DIB_PAL_COLORS に設定しなければなりません。

配列中のエントリの数は、BITMAPINFOHEADER 構造体の biBitCount と biClrUsed メンバの設定値によって変わります。
bmiColors テーブル中の色は、重要度順に並んでいます。詳しい情報は、解説の項目を参照してください。
解説
DIB は、二つの別個の部分から構成されます。 ビットマップの大きさと色を表現する BITMAPINFO 構造体と、ビットマップのピクセルを定義するバイト値の配列です。
配列中のビットは一まとめにされますが、それぞれのスキャン ラインは LONG データ型の境界まで 0 で埋めなければなりませ ん。
ビットマップの高さが正の値であった場合、ビットマップは "bottom-up DIB" で、それは左下隅から開始します。高さが負であった 場合、ビットマップは "top-down DIB" で、それは左上隅から始まります。

ビットマップは、ビットマップ配列がBITMAPINFO ヘッダーの後すぐに続く場合には "pack" されます。 "pack" されたビットマップは、単一のポインタによって参照されます。 "pack" されたビットマップでは、DIB_PAL_COLORS モードを使うときは、biClrUsed メンバは偶数に設定されるべきです。また、DIB ビットマップ配列は DWORD 境界から開始されます。
注釈
ビットマップがファイルに格納される場合や、他のアプリケーションに転送される場合、bmiColors メンバは、パレット インデック スを含むべきではありません。 アプリケーションがビットマップの排他的な使用と制御をする場合を除き、ビットマップ カラー テーブルは明確なRGB値を含むべき です。
この文書は、Microsoft Corporation が公開している情報を、私ヨシヲが翻訳し掲載したものです。
翻訳が正確である保障もありません。また、この記事に関して Microsoft Corporation に問い合わせることはおやめください。
この記事の掲載に問題があるようでしたら、ご連絡いただければ即削除します。

DBWebSystem ver-1.00
このページの内容は… (・∀・)[良い] / (-ω-;)[悪い]
ContentID : msdn_BITMAPINFO, Total Page Views : 7906, Page Score : 0
Last Update : 2002/01/24 23:08:55 (LIRS.txt)
System Designed & Coded by ヨシヲ
[このコンテンツを編集] [このコンテンツにリンクしているページ]