亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

?MFC中TransparentBlt函數怎么使用

小億
81
2023-11-02 14:05:30
欄目: 編程語言

TransparentBlt函數用于在設備上下文中繪制帶有透明效果的圖像。

函數原型:

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

參數說明:

  • hdcDest:目標設備上下文的句柄。
  • xoriginDest:目標矩形區域的左上角的x坐標。
  • yoriginDest:目標矩形區域的左上角的y坐標。
  • wDest:目標矩形區域的寬度。
  • hDest:目標矩形區域的高度。
  • hdcSrc:源設備上下文的句柄。
  • xoriginSrc:源矩形區域的左上角的x坐標。
  • yoriginSrc:源矩形區域的左上角的y坐標。
  • wSrc:源矩形區域的寬度。
  • hSrc:源矩形區域的高度。
  • crTransparent:透明顏色值。與源圖像中顏色相同的像素將被視為透明。

使用示例:

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);

以上示例中,首先加載圖像文件到CImage對象中,然后創建一個兼容的內存設備上下文和位圖對象,將位圖對象選入設備上下文,使用BitBlt函數將屏幕上的圖像復制到內存設備上下文中,然后使用BitBlt函數將圖像繪制到內存設備上下文中,最后使用TransparentBlt函數將內存設備上下文中的圖像繪制到屏幕上的目標設備上下文中,并指定透明顏色。

0
大埔县| 舞钢市| 金平| 会宁县| 宜城市| 北海市| 林州市| 礼泉县| 荣成市| 深泽县| 南涧| 汕头市| 宁德市| 桐庐县| 民勤县| 洪湖市| 康保县| 平度市| 元谋县| 长兴县| 登封市| 榆林市| 印江| 绍兴县| 柘荣县| 淮安市| 莲花县| 慈利县| 弋阳县| 虞城县| 天台县| 辽宁省| 阿城市| 青阳县| 磐安县| 原平市| 丰台区| 墨脱县| 溆浦县| 安远县| 修文县|