PlgBlt

PlgBlt ,對源設備環境中指定的矩形區域中的顏色數據位進行位塊轉換,並轉換到目標設備環境中指定的平行四邊形里。如果給定的位掩碼句柄表示為有效的單色點陣圖,那么函式使用該點陣圖來對源矩形中的顏色數據進行掩碼(禁止)操作。

函式功能

函式對源設備環境中指定的矩形區域中的顏色數據位進行位塊轉換,並轉換到目標設備環境中指定的平行四邊形里。如果給定的位掩碼句柄表示為有效的單色點陣圖,那么函式使用該點陣圖來對源矩形中的顏色數據進行掩碼(禁止)操作。

函式原型

BOOL PlgBlt(HDC hdcDest, CONST POINT *lpPoint, HDC hdcSrc,int nXSrc, int nYSrc, int nWidth, int nHeight, HBITMAP hbmMask, int xMask, int yMask);

主要參數

hdcDest:指向目標設備環境的句柄。
lpPoint:指向代表目標平行四邊形3個角的3個頂點的數組指針。源矩形的左上角映射到該數組的第1個頂點,右上角映射為數組中的第2個頂點,左下角映射成第3個頂點。而右下角則映射成平行四邊形中隱含的第4個點。
hdcSrc:指向源設備環境的句柄。
nXSrc:指定源矩形左上角的X軸坐標,按邏輯單位。
nYSrc:指定源矩形左上角的Y軸坐標,按邏輯單位。
nWidth:指字源矩形的寬度,按邏輯單位。
nheight:指定源矩形的高度,按邏輯單位。
hbMask:指向可選的單色點陣圖的句柄。該點陣圖是用來對源矩形的顏色進行禁止用的。
xMask:指定單色點陣圖左上角的X軸坐標。
yMask:指定單色點陣圖左上角的Y軸坐標。
返回值:如果函式成功,那么返回值非零;如果函式失敗,則返回值為零。
Windows NT:若想獲得更多錯誤信息,請調用GetLastError函式。
備註:平行四邊形的第4個頂點(D)是通過把頭3個頂點(A、B、C)當作矢量,並按D=B+C+A計算來定義的。如果存在位掩碼,那么掩碼中的數值1表示應該將源像素的顏色拷貝到目標像素點上。掩碼中的數值0表示不改變目標像素顏色。如果掩碼矩形比源和目標矩形要小,那么該函式重複掩碼模式。
在源設備環境中,允許有伸縮、平移和反射變換,然而禁止有旋轉和剪下變換。如果掩碼點陣圖不是單色點陣圖,那將會出現錯誤。在需要時,目標設備環境用的伸展模式是用來定義如何拉伸或壓縮像素的。
當正在對一個增強型圖元檔案進行記錄時,如果源設備環境標識為增強型圖元檔案設備環境,那么將出現錯誤。目標坐標根據目標設備環境進行變換,源坐標是根據源設備環境進行變換。如果源變換有旋轉或剪下,那么會返回一個錯誤。如果目標和源矩形顏色格式不相同,那么Plgblt對源矩形進行轉換,以與目標矩形匹配。不是所有設備都支持PlgBlt函式,若想了解更多信息,那么GetDeviceCaps函式中有關RC_BITBLT光柵特性的描述。如果源和目標設備環境代表不兼容設備,那么PlgBlt返回一個錯誤。
速查:Windows NT:3.1及以上版本;Windows:不支持;Windows CE:不支持;頭檔案:wingdi.h;庫檔案:gdi32.lib。

相關詞條

相關搜尋

熱門詞條

聯絡我們