扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

鈥婱FC涓璗ransparentBlt鍑芥暟鎬庝箞浣跨敤

扬州沐宇科技
2023-11-02 14:05:30
鈥婱FC

TransparentBlt鍑芥暟鐢ㄤ簬鍦ㄨ澶囦笂涓嬫枃涓粯鍒跺甫鏈夐€忔槑鏁堟灉鐨勫浘鍍忋€?/p>

鍑芥暟鍘熷瀷锛?/p>

BOOL TransparentBlt(
  HDC   hdcDest,
  int   xoriginDest,
  int   yoriginDest,
  int   wDest,
  int   hDest,
  HDC   hdcSrc,
  int   xoriginSrc,
  int   yoriginSrc,
  int   wSrc,
  int   hSrc,
  UINT  crTransparent
);

鍙傛暟璇存槑锛?/p>

  • hdcDest锛氱洰鏍囪澶囦笂涓嬫枃鐨勫彞鏌勩€?/li>
  • xoriginDest锛氱洰鏍囩煩褰㈠尯鍩熺殑宸︿笂瑙掔殑x鍧愭爣銆?/li>
  • yoriginDest锛氱洰鏍囩煩褰㈠尯鍩熺殑宸︿笂瑙掔殑y鍧愭爣銆?/li>
  • wDest锛氱洰鏍囩煩褰㈠尯鍩熺殑瀹藉害銆?/li>
  • hDest锛氱洰鏍囩煩褰㈠尯鍩熺殑楂樺害銆?/li>
  • hdcSrc锛氭簮璁惧涓婁笅鏂囩殑鍙ユ焺銆?/li>
  • xoriginSrc锛氭簮鐭╁舰鍖哄煙鐨勫乏涓婅鐨剎鍧愭爣銆?/li>
  • yoriginSrc锛氭簮鐭╁舰鍖哄煙鐨勫乏涓婅鐨剏鍧愭爣銆?/li>
  • wSrc锛氭簮鐭╁舰鍖哄煙鐨勫搴︺€?/li>
  • hSrc锛氭簮鐭╁舰鍖哄煙鐨勯珮搴︺€?/li>
  • crTransparent锛氶€忔槑棰滆壊鍊笺€備笌婧愬浘鍍忎腑棰滆壊鐩稿悓鐨勫儚绱犲皢琚涓洪€忔槑銆?/li>

浣跨敤绀轰緥锛?/p>

CImage image;
image.Load(_T("path/to/image.png"));

CDC* pDC = GetDC();
CDC memDC;
memDC.CreateCompatibleDC(pDC);
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC, image.GetWidth(), image.GetHeight());
memDC.SelectObject(&bmp);
memDC.BitBlt(0, 0, image.GetWidth(), image.GetHeight(), pDC, 0, 0, SRCCOPY);
image.BitBlt(memDC.GetSafeHdc(), 0, 0, SRCCOPY);
TransparentBlt(pDC->GetSafeHdc(), x, y, width, height, memDC.GetSafeHdc(), 0, 0, image.GetWidth(), image.GetHeight(), RGB(255, 0, 255));

ReleaseDC(pDC);

浠ヤ笂绀轰緥涓紝棣栧厛鍔犺浇鍥惧儚鏂囦欢鍒癈Image瀵硅薄涓紝鐒跺悗鍒涘缓涓€涓吋瀹圭殑鍐呭瓨璁惧涓婁笅鏂囧拰浣嶅浘瀵硅薄锛屽皢浣嶅浘瀵硅薄閫夊叆璁惧涓婁笅鏂囷紝浣跨敤BitBlt鍑芥暟灏嗗睆骞曚笂鐨勫浘鍍忓鍒跺埌鍐呭瓨璁惧涓婁笅鏂囦腑锛岀劧鍚庝娇鐢˙itBlt鍑芥暟灏嗗浘鍍忕粯鍒跺埌鍐呭瓨璁惧涓婁笅鏂囦腑锛屾渶鍚庝娇鐢═ransparentBlt鍑芥暟灏嗗唴瀛樿澶囦笂涓嬫枃涓殑鍥惧儚缁樺埗鍒板睆骞曚笂鐨勭洰鏍囪澶囦笂涓嬫枃涓紝骞舵寚瀹氶€忔槑棰滆壊銆?/p>

扫码添加客服微信