Share via


BITMAP 構造体

BITMAP 構造体は、論理ビットマップの高さ、幅、カラー フォーマット、およびビット値を定義します。

typedef struct tagBITMAP {  /* bm */
   int bmType;
   int bmWidth;
   int bmHeight;
   int bmWidthBytes;
   BYTE bmPlanes;
   BYTE bmBitsPixel;
   LPVOID bmBits;
} BITMAP;

パラメーター

  • bmType
    ビットマップのタイプを指定します。 論理ビットマップでは、このメンバーは 0 にします。

  • bmWidth
    ビットマップの幅をピクセル単位で指定します。 幅は 1 以上にします。

  • bmHeight
    ビットマップの高さをラスター行数で指定します。 高さは 1 以上にします。

  • bmWidthBytes
    ラスター行ごとのバイト数を指定します。 この値は、グラフィックス デバイス インターフェイス (GDI Graphics Device Interface) がビットマップのビット値が整数値 (2 バイト) の配列であると仮定しているため、偶数値にする必要があります。 つまり、bmWidthBytes * 8 の値は bmWidth メンバーと bmBitsPixel メンバーの積の値以上でその積に最も近い 16 の倍数にします。

  • bmPlanes
    ビットマップのカラー プレーンの数を指定します。

  • bmBitsPixel
    1 ピクセルを定義するのに必要な、各プレーン上の隣接したカラー ビットの数を指定します。

  • bmBits
    ビットマップのビット値の位置を指します。 bmBits メンバーはバイト値の配列への long ポインターにする必要があります。

解説

現在使われているビットマップの形式はモノクロとカラーです。 モノクロのビットマップは、1 ビット、1 プレーンの形式を使います。 各スキャンは 16 ビットの倍数です。

高さ n のモノクロのビットマップでは、各スキャンは次のように構成されます。

Scan 0

Scan 1

.

.

.

Scan n-2

Scan n-1

モノクロ デバイスのピクセルは黒か白のどちらかです。 ビットマップの対応するビットが 1 のとき、ピクセルは ON (白) になります。 ビットマップの対応するビットが 0 のとき、ピクセルは OFF (黒) になります。

ビットマップをサポートするすべてのデバイスは、CDC::GetDeviceCaps メンバー関数の RASTERCAPS インデックスに RC_BITBLT ビットが設定されます。

各デバイスは独自の重複しないカラー フォーマットを持っています。 ビットマップをデバイス間で転送するには、GetDIBits Windows 関数および SetDIBits Windows 関数を使用します。

必要条件

**ヘッダー:**wingdi.h

参照

参照

CBitmap::CreateBitmapIndirect

その他の技術情報

構造体、スタイル、コールバック関数とメッセージ マップ