BitBlt

画像のビットブロック転送を行ないます。これは、コピー元デバイスコンテキストからコピー先デバイスコンテキストに、指定された長方形内の各ピクセルの色データをコピーします。

BOOL BitBlt(
    HDC   hdcDest,    // コピー先デバイスコンテキスト
    int   nXDest,     // コピー先x座標
    int   nYDest,     // コピー先y座標
    int   nWidth,     // コピーする幅
    int   nHeight,    // コピーする高さ
    HDC   hdcSource,  // コピー元デバイスコンテキスト
    int   nXSource,   // コピー元x座標
    int   nYSource,   // コピー元y座標
    DWORD dwRaster    // ラスタオペレーションコード
);

GDI32.DLL

引数

hdcDest

コピー先のデバイスコンテキストのハンドルを指定します。

nXDest, nYDest

コピー先の左上隅の座標を論理単位で指定します。

nWidth, nHeight

コピーするサイズを論理単位で指定します。

hdcSource

コピー元のデバイスコンテキストのハンドルを指定します。

nXSource, nYSource

コピー元の左上隅の座標を論理単位で指定します。

dwRaster

ラスタオペレーションコード(コピー元およびコピー先の色データをどのように結合するかを定義する値)を指定します。以下の値のいずれかで指定します。

0x00CC0020 (SRCCOPY)
コピー元をコピー先にそのままコピーします。
0x00EE0086 (SRCPAINT)
コピー元の色と、コピー先の色を、論理OR演算子で結合します。
0x008800C6 (SRCAND)
コピー元の色と、コピー先の色を、論理AND演算子で結合します。
0x00660046 (SRCINVERT)
コピー元の色と、コピー先の色を、論理XOR演算子で結合します。
0x00440328 (SRCERASE)
コピー先の色を反転した色と、コピー元の色を、論理AND演算子で結合します。
0x00330008 (NOTSRCCOPY)
コピー元の色を反転して、コピー先にコピーします。
0x001100A6 (NOTSRCERASE)
コピー元の色と、コピー先の色を、論理OR演算子で結合し、さらに反転します。
0x00C000CA (MERGECOPY)
コピー元の色と、コピー先の色を、論理AND演算子で結合します。
0x00BB0226 (MERGEPAINT)
コピー元の色を反転した色と、コピー先の色を、論理 OR 演算子で結合します。
0x00F00021 (PATCOPY)
指定したパターンをコピー先にコピーします。
0x00FB0A09 (PATPAINT)
指定したパターンの色と、コピー元の色を反転した色を、論理 OR 演算子で結合し、さらにその結果を、コピー先の色と論理 OR 演算子で結合します。
0x005A0049 (PATINVERT)
指定したパターンの色と、コピー先の色を、論理 XOR 演算子で結合します。
0x00550009 (DSTINVERT)
コピー先長方形の色を反転します。
0x00000042 (BLACKNESS)
物理パレットのインデックス 0 に対応する色 (デフォルトは黒) で、コピー先の長方形を塗りつぶします。
0x00FF0062 (WHITENESS)
物理パレットのインデックス 1 に対応する色 (デフォルトは白) で、コピー先の長方形を塗りつぶします。

戻り値

成功すると 0 以外の値が返ります。

失敗すると 0 が返ります。

Windows NT/2000/XP: 拡張エラー情報を取得するには、GetLastError関数を使います。

対応情報

Windows 95 以降 / Windows NT 3.1 以降