日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC 图片部分透明

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC 图片部分透明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.?在頭文件中,定義控制變量:

?CDC?m_dcMem;????//內存

?CDC??m_dcBuf;????//緩沖

?CBitmap m_bmpBg;? //背景圖片

?CBitmapm_bmp;???//圖片

?BITMAP m_infoBmpBg;
?BITMAP?m_infoBmp;

?

2.在初始化函數OnInitDialog()中:

?m_bmpBg.LoadBitmap(IDB_GAME_BG); //加載圖片

?m_bmp.LoadBitmap(IDB_BMP);????

?

?m_bmpBg.GetBitmap(&m_infoBmpBg);//綁定變量

?m_bmp.GetBitmap(&m_infoBmp);

?

?CDC *pDC = GetDC();?
?m_dcMem.CreateCompatibleDC(pDC);?//獲取句柄
?m_dcMem.SelectObject(&m_bmpBg);??//選擇背景圖案載入內存
?m_dcBuf.CreateCompatibleDC(pDC);

?

?RECT rc;
?GetWindowRect(&rc);
?int cyCaption =GetSystemMetrics(SM_CYCAPTION);
?MoveWindow(rc.left,rc.top,m_infoBmpBg.bmWidth,m_infoBmpBg.bmHeight+cyCaption);
?
?ReleaseDC(pDC);

?

3.在函數OnPaint()中:

?dc.BitBlt(目標區域起點x坐標,目標區域起點y坐標,寬度,高度,&m_dcMem,圖片起點x坐標,圖片起點y坐標,SRCCOPY);?//SRCCOPY表示拉伸

?

4.在實現的代碼中,選擇要顯示的圖片:

m_dcBuf.SelectObject(&m_bmp);

?

TransparentBlt(m_dcMem,目標區域起點x坐標,目標區域起點y坐標,寬度,高度,m_dcBuf,圖片起點x坐標,圖片起點y坐標,寬度,高度,RGB(48,76,112));?//調用透明函數,RGB(48,76,112)為要被設置為透明的顏色

?

?CRectrc(目標區域起點x坐標,目標區域起點y坐標,目標區域終點x坐標,目標區域終點y坐標,);
?
?InvalidateRect(&rc);?//更新區域
?

總結

以上是生活随笔為你收集整理的MFC 图片部分透明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。