次の方法で共有


CDC::MaskBlt

指定されたマスクとラスター オペレーションを使って、転送元ビットマップと転送先ビットマップのカラー データを組み合わせます。

BOOL MaskBlt(
   int x,
   int y,
   int nWidth,
   int nHeight,
   CDC* pSrcDC,
   int xSrc,
   int ySrc,
   CBitmap& maskBitmap,
   int xMask,
   int yMask,
   DWORD dwRop 
);

パラメーター

  • x
    描画先の四角形の左上隅の論理的な x 座標を指定します。

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

  • nWidth
    、描画先の四角形と元のビットマップの論理単位に、幅を指定します。

  • nHeight
    、描画先の四角形と元のビットマップの論理単位で、高さを指定します。

  • pSrcDC
    ビットマップをコピーするデバイス コンテキストを識別します。これは dwRop の パラメーターがソースを含まないラスター オペレーションを指定する場合はゼロである必要があります。

  • xSrc
    ソース ビットマップの左上隅の論理的な x 座標を指定します。

  • ySrc
    ソース ビットマップの左上隅の論理 y 座標を指定します。

  • maskBitmap
    元のデバイス コンテキストの色のビットマップと組み合わせたマスクのモノクロ ビットマップを識別します。

  • xMask
    maskBitmap パラメーターで指定されたマスクのビットマップに水平方向のピクセル単位のオフセットを指定します。

  • yMask
    maskBitmap パラメーターで指定されたマスクのビットマップに垂直方向のピクセル単位のオフセットを指定します。

  • dwRop
    フォアグラウンドとバックグラウンドの両方のコピー元とコピー先のデータの組み合わせを制御するために関数が使用する三項のラスター オペレーション コードを指定します。バックグラウンドのラスター オペレーション コードは、この値の上位ワードの親に格納されます) ; フォアグラウンドのラスター オペレーション コードは、この値の上位ワードの下位バイトに格納されます; この値の下位ワードは無視され、ゼロ必要があります。マクロ MAKEROP4 は、フォアグラウンドとバックグラウンドでのラスター オペレーション コードのこのような組み合わせを作成します。この関数のコンテキストで前景色と背景の詳細については、"解説"を参照してください。一般的なのは、ラスター オペレーション コードの一覧については、BitBlt のメンバー関数に関するトピックを参照してください。

戻り値

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

解説

maskBitmap で指定されたマスクの値 1 は dwRop で指定されたの前景のラスター オペレーション コードがその場所に適用されることを示します。マスクの値 0 は dwRop で指定されたバックグラウンドのラスター オペレーション コードがその場所に適用されることを示します。ラスター オペレーションがソースを要求した場合、マスクの四角形は、元の四角形をカバーする必要があります。これは、関数は失敗します。ラスター オペレーションがソースを必要としない場合は、マスクの四角形が描画先の四角形をカバーする必要があります。これは、関数は失敗します。

この関数が呼び出されるとき、または傾斜変換が元のデバイス コンテキストに対して有効な場合は、エラーが発生します。ただし、変換の他の種類が割り当てられます。

ソース、パターンとコピー先のビットマップの色の形式が異なる場合、この関数では、パターンまたはソースの形式、またはその両方、配置先の形式と一致します。マスクのビットマップがモノクロ ビットマップでない場合は、エラーが発生します。拡張メタファイルを記録するとき、エラーは、元のデバイス コンテキストが強化されたメタファイルのデバイス コンテキストを識別すると発生し、(関数は 0 を返します)。すべてのデバイスが MaskBltをサポートしていません。アプリケーションは、デバイスがこの機能をサポートするかどうかを確認するに GetDeviceCaps を呼び出す必要があります。マスクのビットマップが指定されていない場合、この関数はの前景のラスター オペレーション コードを使用して BitBltとまったく同様に動作します。元のデバイス コンテキストのビットマップの点 (0,0) にマスクのビットマップのマップのピクセル オフセット。これは、マスクのビットマップが一連のマスクが存在する場合に適しています; アプリケーションは、マスク blitting のタスクに MaskBltに送信されるピクセル オフセットと四角形のサイズを調整して簡単にそれらのいずれかに追加できます。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CDC クラス

階層図

CDC::BitBlt

CDC::GetDeviceCaps

CDC::PlgBlt

CDC::StretchBlt

MaskBlt