MaskBlt

MaskBlt是一款計算機函式,可以使用特定的掩碼和光柵操作來對源和目標點陣圖的顏色數據進行組合。

基本介紹

  • 中文名: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:指向單色掩碼點陣圖的句柄,該點陣圖與源設備環境中的彩色點陣圖進行組合。
xMask:謎舟備指定由參數hbmMask指向的掩碼點陣圖的水平像素偏移量
yMask:指定由參數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。
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。

相關詞條

熱門詞條

聯絡我們