次の方法で共有


CDC::StretchBlt

ビットマップを描画先の四角形の寸法に収まるように必要に応じて伸縮または圧縮する先の四角形と元の四角形からビットマップをコピーします。

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

パラメーター

  • x
    描画先の四角形の左上隅の x 座標を (論理単位で) 指定します。

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

  • nWidth
    描画先の四角形の幅 (論理単位で) 指定します。

  • nHeight
    描画先の四角形の高さを (論理単位で) 指定します。

  • pSrcDC
    元のデバイス コンテキストを指定します。

  • xSrc
    元の四角形の左上隅の x 座標を (論理単位で) 指定します。

  • ySrc
    元の四角形の左上隅の x 座標を (論理単位で) 指定します。

  • nSrcWidth
    元の四角形の幅 (論理単位で) 指定します。

  • nSrcHeight
    元の四角形の高さを (論理単位で) 指定します。

  • dwRop
    実行するラスター オペレーションを指定します。ラスター オペレーション コードのは、GDI が現在のブラシ、可能なソース ビットマップとコピー先のビットマップを含む出力処理の色を結合する方法を定義します。このパラメーターには、次の 1 種類の値である可能性があります:

    • BLACKNESS は、すべての出力の黒を切り替えます。

    • DSTINVERT は、対象のビットマップを反転させます。

    • MERGECOPY は論理 AND 演算子を使用してパターンとソース ビットマップを結合します。

    • MERGEPAINT は論理 OR 演算子を使用して対象のビットマップと反転ソース ビットマップを結合します。

    • NOTSRCCOPY がターゲットに反転ソース ビットマップをコピーします。

    • NOTSRCERASE は論理 OR 演算子を使用して、コピー先とソース ビットマップを結合した結果を反転させます。

    • PATCOPY は、対象のビットマップにパターンをコピーします。

    • PATINVERT はブール型の XOR 演算子を使用してパターンとターゲットのビットマップを結合します。

    • PATPAINT は論理 OR 演算子を使用してパターンと反転ソース ビットマップを結合します。論理 OR 演算子を使用して対象のビットマップでこの操作の結果を結合します。

    • SRCAND は論理 AND 演算子を使用して、コピー先と元のビットマップのピクセルを結合します。

    • SRCCOPY は、対象のビットマップにソース ビットマップをコピーします。

    • SRCERASE は、対象のビットマップを反転、ソース ビットマップと論理 AND 演算子を使用して結果を結合します。

    • SRCINVERT はブール型の XOR 演算子を使用して、コピー先と元のビットマップのピクセルを結合します。

    • SRCPAINT は論理 OR 演算子を使用して、コピー先と元のビットマップのピクセルを結合します。

    • WHITENESS は、すべての出力を白回転します。

戻り値

ビットマップが描画される以外。; それ以外の場合は 0。

解説

関数はを確認するために、コピー先のデバイス コンテキスト ( SetStretchBltModeでセット) の伸縮モードをビットマップを拡大または縮小する方法を示します。

StretchBlt の関数は、メンバー関数が呼び出されることをデバイス コンテキスト オブジェクトによって表される先のデバイスに pSrcDC で指定されたソースのデバイスからビットマップを実行します。xSrc、ySrc、nSrcWidthと nSrcHeight のパラメーターは元の四角形の左上隅およびサイズを定義します。nHeight の xy、nWidthとパラメーターは、描画先の四角形の左上隅と寸法を示します。dwRop で指定されたラスター オペレーションは先のデバイスのソース ビットマップのビットが既にと結合されるかを定義します。

StretchBlt 関数は nSrcWidth の符号と nWidth または nSrcHeight と nHeight パラメーターの異なるビットマップのミラー イメージを作成します。nSrcWidth と nWidth に異なる署名がある場合、関数は x 軸に沿ってビットマップのミラー イメージを作成します。nSrcHeight と nHeight に異なる署名がある場合、関数は y 軸に沿ってビットマップのミラー イメージを作成します。

StretchBlt 関数は伸縮するか、メモリのソース ビットマップを圧縮し、ターゲットに結果をコピーします。パターンが結果をマージすると引き伸ばされたソース ビットマップがコピーされますまでマージされません。ブラシが使用されている場合、コピー先のデバイス コンテキストに選択されているブラシです。コピー先の座標は先のデバイス コンテキストに応じて変わります。; ソースの座標は、元のデバイス コンテキストに応じて変換されます。

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

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

すべてのデバイスが StretchBlt 関数をサポートしていません。デバイスが StretchBltをサポートするかどうかを確認するには、RASTERCAPS のインデックスとの GetDeviceCaps のメンバー関数を呼び出し、RC_STRETCHBLT のフラグの戻り値をチェックします。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CDC クラス

階層図

CDC::BitBlt

CDC::GetDeviceCaps

CDC::SetStretchBltMode

StretchBlt