次の方法で共有


CDC::PlgBlt

転送元デバイス コンテキストの指定された四角形から、指定されたデバイス コンテキストの指定された平行四角形に、カラー データ ビットのビット ブロック転送を行います。

BOOL PlgBlt(
   LPPOINT lpPoint,
   CDC* pSrcDC,
   int xSrc,
   int ySrc,
   int nWidth,
   int nHeight,
   CBitmap& maskBitmap,
   int xMask,
   int yMask 
);

パラメーター

  • lpPoint
    転送先平行四角形の 3 つの角を識別する論理空間内の 3 つの点の配列へのポインター。 転送元四角形の左上隅がこの配列の最初の点に、右上隅が配列の 2 番目の点に、左下隅が配列の 3 番目の点にそれぞれ割り当てられます。 転送元四角形の右下隅は、平行四角形の 4 番目の点に自動的に割り当てられます。

  • pSrcDC
    転送元デバイス コンテキストを識別します。

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

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

  • nWidth
    転送元四角形の幅 (論理単位)。

  • nHeight
    転送元四角形の高さ (論理単位)。

  • maskBitmap
    転送元四角形の色をマスクするために使うオプションのモノクロ ビットマップを識別します。

  • xMask
    モノクロのビットマップの左上隅の x 座標を指定します。

  • yMask
    モノクロのビットマップの左上隅の y 座標を指定します。

戻り値

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

解説

指定されたビットマスク ハンドルが有効なモノクロ ビットマップを識別しているときは、このビットマップを使って転送元四角形のカラー データ ビットをマスクします。

平行四角形の 4 番目の頂点 (D) は、最初の 3 つの点 (A, B, C) をベクターとして扱った場合、D = B + C - A の計算結果として定義されます。

ビットマスクが存在する場合、マスク値が 1 のときは、転送元のピクセル カラーが転送先のピクセルにコピーされることを示します。 マスク値が 0 のときは、転送先のピクセル カラーは変化しません。

マスク四角形が転送元四角形や転送先四角形よりも小さかったときは、関数がマスク パターンを複製します。

転送元デバイス コンテキストでは、スケーリング、平行移動、反転移動はできますが、回転と傾斜はできません。 マスク ビットマップがモノクロ ビットマップではない場合、エラーが発生します。 必要に応じてピクセルを伸長または圧縮する方法を決定するために、転送先デバイス コンテキストの伸縮モードを使います。 拡張メタファイルを記録中に、転送元デバイス コンテキストが拡張メタファイルのデバイス コンテキストを識別したときはエラーが発生します。

転送先の座標は、転送先のデバイス コンテキストに合わせて変換されます。転送元の座標は、転送元のデバイス コンテキストに合わせて変換されます。 転送元四角形の変形が回転または傾斜だったときは、エラーが返されます。 転送先四角形と転送元四角形のカラー フォーマットが違うときは、転送元四角形のカラー フォーマットが転送先四角形のカラー フォーマットになるように、PlgBlt が変換します。 すべてのデバイスがPlgBlt をサポートしているわけではありません。 詳細については、CDC::GetDeviceCaps メンバー関数の RC_BITBLT ラスター機能の説明を参照してください。

転送元デバイス コンテキストと転送先デバイス コンテキストが互換性のないデバイスを示しているときは、PlgBlt はエラーを返します。

必要条件

**ヘッダー:**afxwin.h

参照

参照

CDC クラス

階層図

CDC::BitBlt

CDC::GetDeviceCaps

CDC::MaskBlt

CDC::StretchBlt

SetStretchBltMode

PlgBlt

その他の技術情報

CDC のメンバー