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