基本介紹
- 中文名:MaskBlt
- 函式原型:BOOL MaskBlt
- 所屬類:CImage;CImage::MaskBlt
函式原型,參數,前景和背景,
函式原型
BOOL MaskBlt(HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, HBITMAP hbmMask, int xMask, int yMask, DWORD dwRop);
所屬類:CImage;CImage::MaskBlt。
參數
hdcDest:指向目標設備環境的句柄。
nXDest:指定目標矩形左上角的邏輯X軸坐標。
nYDest:指定目標矩形左上角的邏輯Y軸坐標。
nWidth:指定目標矩形和源點陣圖的寬度,按邏輯單位。
nHeight:指定目標矩形和源點陣圖的高度,按邏輯單位。
hdcSrc:指向源點陣圖所在的設備環境,如果dwRop參數規定的光柵操作不包括源點陣圖,那么該參數必須為0。
nXSrc:指定源點陣圖左上角的邏輯X軸坐標。
nYSrc:指定源點陣圖左上角的Y軸邏輯坐標。
hbmMask:指向單色掩碼點陣圖的句柄,該點陣圖與源設備環境中的彩色點陣圖進行組合。
dwRop:指定前景和背景光柵操作碼,函式使用這些操作碼為控制源和目標數據的組合。背景光柵操作碼存儲在該參數值的高位字中的高位位元組中,而前景光柵操作代碼雄在該參數值的高位字中的低位位元組中,而低位字則忽略,並且應該為0。宏MAKEROP4創建前景和背景光柵操作碼這樣的組合。
返回值:如果函式執行成功,那么返回值為非零,如果函式失敗,那么返回值為0。
Windows NT:若想獲得更多錯誤信息,請調用GetLastError函式。
前景和背景
在由hbmMask指定的掩碼中,數值1表示在那個位置應使用dwRop指定的前景光柵操作碼。數值0表示應使用dwRop指定的背景光柵操作碼。如果光柵操作需要源對象,那么掩碼矩形必須覆蓋源矩形。如果沒有覆蓋,那么函式會執行失敗。如果光柵操作沒有要求源對象,那么掩碼矩形必須覆蓋目標矩形,如果沒有覆蓋,那么函式會失敗。如果在調用函式時,源設備環境中實行旋轉或剪下變換,那么會出現錯誤。然而,允許有其他類型的變換。如果源點陣圖的顏色格式、模式和目標點陣圖不一樣,那么該函式對模式或源點陣圖格式,或者兩者進行轉換,以與目標格式匹配。如果掩碼點陣圖不是單色點陣圖,則會出現錯誤。當正在記錄的是增強型圖元檔案時,如果源設備環境標識為增強型圖元檔案設備環境,那么會出現錯誤(該函式返回FALSE)。不是所有設備都支持MaskBlt函式,應用程式應調用GETDeviceCaps函式來確定設備是否支持該函式。如果沒有提供掩碼點陣圖,那么該函式非常類似BitBlt,它使用前景光柵操作碼。
ICM:當出現尖頭訊息時,不進行顏色管理。
Windows CE:Windows CE 1.0版只支持SRCCOPY和SRCINVERT光柵操作。該函式在Windows CE 2.0版與其他Windows桌面平台一樣。
速查:Windows NT:3.1及以上版本;Windows:不支持;Windows CE:1.0及以上版本;頭檔案:wingdi.h;庫檔案:gdi32.lib。