StretchBlt鍑芥暟鎬庝箞浣跨敤
StretchBlt鍑芥暟鏄疓DI涓殑涓€涓嚱鏁帮紝鐢ㄤ簬鍦ㄨ澶囦笂涓嬫枃鐜涓繘琛屽浘鍍忕殑鎷変几鍜屽鍒舵搷浣溿€?/p>
鍑芥暟鍘熷瀷濡備笅锛?/p>
BOOL StretchBlt(
HDC hdcDest, // 鐩爣璁惧涓婁笅鏂囩幆澧冨彞鏌?/p>
int xDest, // 鐩爣鐭╁舰鐨勫乏涓婅x鍧愭爣
int yDest, // 鐩爣鐭╁舰鐨勫乏涓婅y鍧愭爣
int wDest, // 鐩爣鐭╁舰鐨勫搴?/p>
int hDest, // 鐩爣鐭╁舰鐨勯珮搴?/p>
HDC hdcSrc, // 婧愯澶囦笂涓嬫枃鐜鍙ユ焺
int xSrc, // 婧愮煩褰㈢殑宸︿笂瑙抶鍧愭爣
int ySrc, // 婧愮煩褰㈢殑宸︿笂瑙抷鍧愭爣
int wSrc, // 婧愮煩褰㈢殑瀹藉害
int hSrc, // 婧愮煩褰㈢殑楂樺害
DWORD rop // 鍏夋爡鎿嶄綔浠g爜
);
鍙傛暟璇存槑锛?/p>
-
hdcDest锛氱洰鏍囪澶囦笂涓嬫枃鐜鍙ユ焺銆?/p>
-
xDest銆亂Dest锛氱洰鏍囩煩褰㈢殑宸︿笂瑙掑潗鏍囥€?/p>
-
wDest銆乭Dest锛氱洰鏍囩煩褰㈢殑瀹藉害鍜岄珮搴︺€?/p>
-
hdcSrc锛氭簮璁惧涓婁笅鏂囩幆澧冨彞鏌勩€?/p>
-
xSrc銆亂Src锛氭簮鐭╁舰鐨勫乏涓婅鍧愭爣銆?/p>
-
wSrc銆乭Src锛氭簮鐭╁舰鐨勫搴﹀拰楂樺害銆?/p>
-
rop锛氬厜鏍呮搷浣滀唬鐮侊紝鎸囧畾濡備綍灏嗘簮鍥惧儚鏁版嵁涓庣洰鏍囧浘鍍忔暟鎹繘琛屽悎骞躲€傚父鐢ㄧ殑鍏夋爡鎿嶄綔浠g爜鏈塖RCCOPY銆丼RCAND銆丼RCINVERT绛夈€?/p>
浣跨敤绀轰緥锛?/p>
HDC hdcDest = GetDC(hWnd); // 鑾峰彇鐩爣璁惧涓婁笅鏂囩幆澧冨彞鏌?/span>
HDC hdcSrc = CreateCompatibleDC(hdcDest); // 鍒涘缓涓庣洰鏍囪澶囧吋瀹圭殑婧愯澶囦笂涓嬫枃鐜鍙ユ焺
HBITMAP hBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP)); // 鍔犺浇浣嶅浘璧勬簮
HBITMAP hOldBitmap = (HBITMAP)SelectObject(hdcSrc, hBitmap); // 灏嗕綅鍥鹃€夋嫨鍒版簮璁惧涓婁笅鏂囩幆澧冧腑
StretchBlt(hdcDest, xDest, yDest, wDest, hDest, hdcSrc, xSrc, ySrc, wSrc, hSrc, SRCCOPY); // 杩涜鎷変几鍜屽鍒舵搷浣?/span>
SelectObject(hdcSrc, hOldBitmap); // 鎭㈠婧愯澶囦笂涓嬫枃鐜涓殑鍘熶綅鍥?/span>
DeleteDC(hdcSrc); // 鍒犻櫎婧愯澶囦笂涓嬫枃鐜鍙ユ焺
ReleaseDC(hWnd, hdcDest); // 閲婃斁鐩爣璁惧涓婁笅鏂囩幆澧冨彞鏌?/span>
鍏朵腑锛宧Wnd涓虹洰鏍囩獥鍙e彞鏌勶紝hInstance涓哄綋鍓嶅疄渚嬪彞鏌勶紝IDB_BITMAP涓轰綅鍥捐祫婧愮殑ID銆?/p>
浣跨敤StretchBlt鍑芥暟鏃讹紝闇€瑕佸厛鑾峰彇鐩爣璁惧涓婁笅鏂囩幆澧冨彞鏌勫拰婧愯澶囦笂涓嬫枃鐜鍙ユ焺锛岀劧鍚庨€夋嫨浣嶅浘鍒版簮璁惧涓婁笅鏂囩幆澧冧腑銆傛渶鍚庝娇鐢⊿tretchBlt鍑芥暟杩涜鎷変几鍜屽鍒舵搷浣滐紝瀹屾垚鍚庤寰楁仮澶嶅師浣嶅浘銆佸垹闄ゆ簮璁惧涓婁笅鏂囩幆澧冨彞鏌勫拰閲婃斁鐩爣璁惧涓婁笅鏂囩幆澧冨彞鏌勩€?/p>
相关问答