函數功能:該函數對指定的源設備環境區域中的像素進行位塊(bit_block)轉換,以傳送到目標設備環境。
函數原型:BOOL BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop);
參數:
hdcDest:指向目標設備環境的句柄。
nXDest:指定目標矩形區域左上角的X軸邏輯座標。
nYDest:指定目標矩形區域左上角的Y軸邏輯座標。
nWidth:指定源和目標矩形區域的邏輯寬度。
nHeight:指定源和目標矩形區域的邏輯高度。
hdcSrc:指向源設備環境的句柄。
nXSrc:指定源矩形區域左上角的X軸邏輯座標。
nYSrc:指定源矩形區域左上角的Y軸邏輯座標。
dwRop:指定光柵操作代碼。這些代碼將定義源矩形區域的顏色數據,如何與目標矩形區域的顏色數據組合以完成最後的顏色。
下面列出了一些常見的光柵操作代碼:
BLACKNESS:表示使用與物理調色板的索引0相關的色彩來填充目標矩形區域,(對缺省的物理調色板而言,該顏色爲黑色)。
DSTINVERT:表示使目標矩形區域顏色取反。
MERGECOPY:表示使用布爾型的AND(與)操作符將源矩形區域的顏色與特定模式組合一起。
MERGEPAINT:通過使用布爾型的OR(或)操作符將反向的源矩形區域的顏色與目標矩形區域的顏色合併。
NOTSRCCOPY:將源矩形區域顏色取反,於拷貝到目標矩形區域。
NOTSRCERASE:使用布爾類型的OR(或)操作符組合源和目標矩形區域的顏色值,然後將合成的顏色取反。
PATCOPY:將特定的模式拷貝到目標位圖上。
PATPAINT:通過使用布爾OR(或)操作符將源矩形區域取反後的顏色值與特定模式的顏色合併。然後使用OR(或)操作符將該操作的結果與目標矩形區域內的顏色合併。
PATINVERT:通過使用XOR(異或)操作符將源和目標矩形區域內的顏色合併。
SRCAND:通過使用AND(與)操作符來將源和目標矩形區域內的顏色合併。
SRCCOPY:將源矩形區域直接拷貝到目標矩形區域。
SRCERASE:通過使用AND(與)操作符將目標矩形區域顏色取反後與源矩形區域的顏色值合併。
SRCINVERT:通過使用布爾型的XOR(異或)操作符將源和目標矩形區域的顏色合併。
SRCPAINT:通過使用布爾型的OR(或)操作符將源和目標矩形區域的顏色合併。
WHITENESS:使用與物理調色板中索引1有關的顏色填充目標矩形區域。(對於缺省物理調色板來說,這個顏色就是白色)。
返回值:如果函數成功,那麼返回值非零;如果函數失敗,則返回值爲零。
Windows NT:若想獲取更多錯誤信息,請調用GetLastError函數。
備註:如果在源設備環境中可以實行旋轉或剪切變換,那麼函數BitBlt返回一個錯誤。如果存在其他變換(並且目標設備環境中匹配變換無效),那麼目標設備環境中的矩形區域將在需要時進行拉伸、壓縮或旋轉。
如果源和目標設備環境的顏色格式不匹配,那麼BitBlt函數將源場景的顏色格式轉換成能與目標格式匹配的格式。當正在記錄一個增強型圖元文件時,如果源設備環境標識爲一個增強型圖元文件設備環境,那麼會出現錯誤。如果源和目標設備環境代表不同的設備,那麼BitBlt函數返回錯誤。
Windows CE:在Windows CE 1.0版中,參數dwRop只可以指定爲下列值:SRCCOPY、SRCAND、SRCPAINT、SRCINVERT。在Windows CE 2.0版中,參數dwRop可以是任何光柵操作代碼值。
StretchBlt
函數功能:函數從源矩形中複製一個位圖到目標矩形,必要時按目前目標設備設置的模式進行圖像的拉伸或壓縮。
函數原型:BOOL StretchBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeighDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORD dwRop);
參數:
hdcDest:指向目標設備環境的句柄。
nXOriginDest:指定目標矩形左上角的X軸座標,按邏輯單位表示座標。
nYOriginDest:指定目標矩形左上角的Y軸座標,按邏輯單位表示座標。
nWidthDest:指定目標矩形的寬度,按邏輯單位表示寬度。
nHeightDest:指定目標矩形的高度,按邏輯單位表示高茺。
hdcSrc:指向源設備環境的句柄。
nXOriginSrc:指向源矩形區域左上角的X軸座標,按邏輯單位表示座標。
nYOriginSrc:指向源矩形區域左上角的Y軸座標,按邏輯單位表示座標。
nWidthSrc:指定源矩形的寬度,按邏輯單位表示寬度。
nHeightSrc:指定源矩形的高度,按邏輯單位表示高度。
dwRop:指定要進行的光柵操作。光柵操作碼定義了系統如何在輸出操作中組合顏色,這些操作包括刷子、源位圖和目標位圖等對象。參考BitBlt可瞭解常用的光柵操作碼列表。
返回值:如果函數執行成功,那麼返回值爲非零,如果函數執行失敗,那麼返回值爲零。Windows NT:若想獲得更多的錯誤信息,請調用GetLastError函數。