共用方式為


CDC::MaskBlt

使用指定的遮罩和光柵作業 (Raster,合併色彩資料來源和目的點陣圖。

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
    在來源、裝置內容的 Windows 識別單色遮罩點陣圖結合色彩的點陣圖。

  • xMask
    提供 maskBitmap 參數指定遮罩指定點陣圖中的像素水平位移。

  • yMask
    提供 maskBitmap 參數指定遮罩指定點陣圖中的像素的垂直位移。

  • dwRop
    指定前景和背景三元光柵作業程式碼,函式使用控制項的來源和目的端資料的組合。 背景光柵作業程式碼在這個值高位字組的高序位 (High Order) 位元組儲存;前景光柵作業程式碼在這個值高位字組的低位元組儲存;這個值低位文字會被忽略,且必須是零。 巨集 MAKEROP4 建立前景和背景光柵作業程式碼這樣的組合。 如需前景和背景的討論請參閱"備註"一節在此函式中。 用於一般光柵作業程式碼清單 BitBlt 參閱成員函式。

傳回值

如果不是零,則函式成功,則為 0。

備註

值為 1 表示 maskBitmap 指定遮罩表示應該在該位置 dwRop 套用指定的前景光柵作業程式碼。 值為 0 表示遮罩表示應該在該位置 dwRop 套用指定的背景光柵作業程式碼。 如果光柵作業需要一個來源,遮罩矩形必須包含來源矩形。 如果不是,函式將會失敗。 如果光柵作業不需要來源,遮罩矩形必須包含的目的矩形。 如果不是,函式將會失敗。

如果旋轉或切變轉換實際上是來源裝置內容,當呼叫這個函式時,就會發生錯誤。 然而,轉換的其他型別允許。

如果來源、樣式和目的點陣圖的色彩格式不同,這個函式轉換樣式或來源格式,或者兩者都符合目的格式。 如果遮罩點陣圖不是單色點陣圖,則會發生錯誤。 當一個加強型中繼檔記錄時,錯誤 (和函式傳回 0),如果來源裝置內容識別加強型中繼檔 (Metafile) 裝置內容。 並非所有的裝置支援 MaskBlt。 應用程式應該呼叫 GetDeviceCaps 判斷裝置是否支援此功能。 如果沒有提供遮罩的點陣圖,使用前景光柵作業程式碼,這個函式的非固定格式 BitBlt。 在遮罩點陣圖對應的像素位移到點 (0,0) 在來源裝置內容的點陣圖。 這對遮罩點陣圖包含一組遮罩的情況下十分有用;應用程式也可以輕鬆地套用任一至遮罩 blitting 工作藉由調整像素位移和矩形大小傳送至 MaskBlt

需求

Header: afxwin.h

請參閱

參考

CDC 類別

階層架構圖表

CDC::BitBlt

CDC::GetDeviceCaps

CDC::PlgBlt

CDC::StretchBlt

MaskBlt