次の方法で共有


CDC::BitBlt

元のデバイス コンテキストからこの現在のデバイス コンテキストにビットマップをコピーします。

BOOL BitBlt(
   int x,
   int y,
   int nWidth,
   int nHeight,
   CDC* pSrcDC,
   int xSrc,
   int ySrc,
   DWORD dwRop 
);

パラメーター

  • x
    描画先の四角形の左上隅の論理的な x 座標を指定します。

  • y
    描画先の四角形の左上隅の論理 y 座標を指定します。

  • nWidth
    コピー先の四角形とソース ビットマップの幅 (論理単位で) 指定します。

  • nHeight
    コピー先の四角形とソース ビットマップの高さを (論理単位で) 指定します。

  • pSrcDC
    ビットマップをコピーするデバイス コンテキストを識別する CDC オブジェクトへのポインター。これは dwRop が ソースを含まないラスター オペレーションを指定すると null である必要があります。

  • xSrc
    ソース ビットマップの左上隅の論理的な x 座標を指定します。

  • ySrc
    ソース ビットマップの左上隅の論理 y 座標を指定します。

  • dwRop
    実行するラスター オペレーションを指定します。ラスター オペレーション コードは、GDI が現在のブラシ、可能なソース ビットマップとコピー先のビットマップを含む出力処理の色を結合する方法を定義します。dwRop と説明のラスター オペレーション コードの一覧については Windows SDK の BitBlt を参照してください。

ラスター オペレーション コードの完全な一覧については、Windows SDKの ラスターのオペレーション コードについて を参照してください。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

アプリケーションは BitBlt 操作がバイト アライメントされた四角形に実行されるようにウィンドウのバイト境界またはクライアント領域に配置できます。ウィンドウ クラスを登録するときに (セット CS_BYTEALIGNWINDOW または CS_BYTEALIGNCLIENT のフラグ。)

バイト アライメントされた四角形のBitBlt 操作が整列されているバイトの四角形の BitBlt の演算よりもはるかに高速です。独自のデバイス コンテキストにバイト配置などのクラスのスタイルを指定する場合は、し、のそのために登録する Microsoft Foundation のクラスとは別のウィンドウ クラスを示しています。グローバル関数 AfxRegisterWndClassを使用します。

GDI は先のデバイス コンテキストを使用して一度元のデバイス コンテキストを使用して nWidth と nHeightを一度変換します。結果のエクステントが一致しない場合、GDI、必要に応じてソース ビットマップを圧縮するまたは拡大するには、Windows StretchBlt 関数を使用します。

ターゲットに、ソースとパターンのビットマップに同じ色の形式がない場合、BitBlt 関数がターゲットに一致するようにソースとパターンのビットマップを変換します。対象のビットマップの前景色と背景色は、変換で使用されます。

BitBlt 関数は色指定するには、モノクロ ビットマップを変換すると背景色、黒のビット (0) に前景色に白いビット (1) を設定します。コピー先のデバイス コンテキストの前景色と背景色が使用されます。モノクロに色を変換するには、BitBlt は白に背景色と一致する設定し、黒に他のピクセルをすべてピクセルを設定します。BitBlt は色からモノクロに変換するには、色のデバイス コンテキストの前景色と背景色を使用します。

すべてのデバイス コンテキストが BitBltをサポートしないことに注意してください。指定されたデバイス コンテキストが BitBltをサポートし、GetDeviceCaps のメンバー関数を使用して、RASTERCAPS のインデックスを指定するかどうかを確認する。

使用例

CDC::CreateCompatibleDCの例を参照してください。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CDC クラス

階層図

CDC::GetDeviceCaps

CDC::PatBlt

CDC::SetTextColor

CDC::StretchBlt

StretchDIBits

BitBlt