PlgBlt
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。