BitBlt

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

BOOL BitBlt(
    HDC   hdcDest,   // destination DC
    int   nXDest,    // destination X-coord
    int   nYDest,    // destination Y-coord
    int   nWidth,    // width
    int   nHeight,   // height
    HDC   hdcSource, // source DC
    int   nXSource,  // source X-coord
    int   nYSource,  // source Y-coord
    DWORD dwRaster   // raster operation code
);

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 に対応する色 (デフォルトは白) で、コピー先の長方形を塗りつぶします。
0x40000000 (CAPTUREBLT)
Windows 98/2000以降: アプリケーションのウィンドウの上にあるすべてのレイヤードウィンドウをコピー先に含めます。デフォルトでは、アプリケーションのウィンドウのみがイメージに含まれます。ほとんどの場合、プリンタデバイスコンテキストに対して使用することはできないことに注意してくさだい。
0xx80000000 (NOMIRRORBITMAP)
Windows 98/2000以降: ビットマップが反転されないようにします。

戻り値

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

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

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

対応情報

Windows 95 以降 / Windows NT 3.1 以降