次の方法で共有


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 を返します。

解説

特定のビットマスク ハンドルが有効なのモノクロ ビットマップを識別する場合、関数は元の四角形の色データのビットを隠すには、このビットマップを使用します。

平行四辺形 (D) の 4 番目の頂点は最初の 3 点 (A のベクターと計算の D = 12 + B、C A.として 12 B、および C) の処理によって定義されます。

ビットマスクがある場合、マスクの値 1 はソースのピクセル カラーを宛先にコピーされることを示します。マスクの値 0 は先のピクセル カラーを変更してはならないことを示します。

マスクの四角形がコピー元とコピー先の四角形より小さい場合、関数はマスク パターンを複製します。

スケーリング、平行移動、リフレクションの変換では、元のデバイス コンテキストで許可されています; ただし、回転、および傾斜変換はありません。マスクのビットマップがモノクロ ビットマップでない場合は、エラーが発生します。必要に応じて先のデバイス コンテキストの伸縮モードを決定するためにピクセルを伸縮したり、または圧縮する方法を使用します。拡張メタファイルを記録するとき、エラーは、元のデバイス コンテキストが強化されたメタファイルのデバイス コンテキストを指定した場合に発生します。

コピー先の座標は先のデバイス コンテキストに応じて変わります。; ソースの座標は、元のデバイス コンテキストに応じて変換されます。ソースの変換に回転または傾斜がある場合、エラーが返されます。コピー先とソースの四角形と同じ色の形式がない場合、PlgBlt は先の四角形と一致するように、元の四角形を変換します。すべてのデバイスが PlgBltをサポートしていません。詳細については、CDC::GetDeviceCaps のメンバー関数の RC_BITBLT ラスターの機能の説明を参照してください。

コピー元とコピー先のデバイス コンテキストが互換性のないデバイスを表す場合、PlgBlt はエラーを返します。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CDC クラス

階層図

CDC::BitBlt

CDC::GetDeviceCaps

CDC::MaskBlt

CDC::StretchBlt

SetStretchBltMode

PlgBlt