次の方法で共有


BITMAP 構造体

BITMAP の構造は論理的なビットマップ**.**の高さ、幅、色のフォームとビット値を定義します

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

パラメーター

  • bmType
    ビットマップ型を指定します。論理ビットマップの場合、このメンバーは 0 C である必要があります。

  • bmWidth
    ピクセルのビットマップの幅を指定します。幅が 0 より大きい必要があります。

  • bmHeight
    ラスターの行にビットマップの高さを指定します。高さは 0 より大きい必要があります。

  • bmWidthBytes
    各ラスターの行でバイト数を指定します。この値は整数 (2 バイト)の配列を評価するビットマップ形式のビット値とグラフィック デバイス インターフェイス (GDI) が判断するため、偶数である必要があります。つまり、 bmWidthBytes * bmWidth のメンバーが bmBitsPixel のメンバーに、いつ増加したり、値に等号が存在よりも 8 大きい値は 16 の倍数である必要があります。

  • bmPlanes
    ビットマップの色平面の数を指定します。

  • bmBitsPixel
    ピクセルを定義するために必要な各平面に隣接した色のビット数を指定します。

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

解説

現在使用されるビットマップ形式は、モノクロおよび色です。モノクロ ビットマップは 1 ビット、 1 平面のフォームを使用します。各スキャンは 16 ビットの倍数です。

スキャンは次のように高さ nのモノクロ ビットマップに編成されています:

Scan 0

Scan 1

.

.

.

Scan n-2

Scan n-1

モノクロ デバイスのピクセルは黒または白です。ビットマップの対応するビットが 1 の場合、ピクセルは有効になっています (空白)。ビットマップの対応するビットが 0 の場合、ピクセルになります (黒)。

すべてのデバイスが CDC::GetDeviceCaps のメンバー関数の RASTERCAPS インデックスで RC_BITBLT のビットが設定を持つビットマップをサポートします。

各デバイスに独自の一意の色の形式があります。1 種類のデバイスから別の場所にビットマップをコピーするには、 GetDIBitsSetDIBits のウィンドウは、関数を使用します。

必要条件

ヘッダー : wingdi.h

参照

関連項目

CBitmap::CreateBitmapIndirect

その他の技術情報

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