菜鳥一枚,請教大神們怎么在win32平臺下繪制一張位圖,并且將多張小圖貼到這張位圖上。請大神給出具體程式或者相關的例子,謝謝。
uj5u.com熱心網友回復:
先從對話框中匯入一張位圖資源,資源ID為IDB_BITMAP1,
然后:
CRect rc;
GetWindowRect(&rc);
CDC *pDC;
CDC memdc;
CBitmap *olddc;
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
pDC=this->GetDC();
memdc.CreateCompatibleDC(pDC);
olddc=memdc.SelectObject(&bitmap);
pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memdc,0,0,SRCCOPY);
if(olddc)
{
memdc.SelectObject(olddc);
}
uj5u.com熱心網友回復:
CImag img;img.load(xxx);
uj5u.com熱心網友回復:
CImage img,imgOld;
imgOld.Load("1.jpg");//大圖
img.Load("2.jpg");//小圖
HDC dcmem=imgOld.GetDC();
SetStretchBltMode(dcmem, HALFTONE );//防止失真
//小圖畫到大圖上
img.StretchBlt(dcmem,目標矩形左上角的X軸坐標,目標矩形左上角的Y軸坐標,目標矩形的寬度,指定目標矩形的高度,源矩形區域左上角的X軸坐標,源矩形區域左上角的Y軸坐標,源矩形的寬度,源矩形的高度,SRCCOPY);
//畫到控制元件上
imgOld.Draw(GetDlgItem(控制元件ID)->GetDC()->m_hDC,CRect(左邊界,上邊界,右邊界,下邊界));
//保存圖片
imgOld.Save("222.jpg");
imgOld.ReleaseDC();
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/113987.html
標籤:基礎類
上一篇:有熟悉Windows HTTP Server API的嗎?
下一篇:CDockablePane 添加定時器 進入ontimer 后 視窗消失,呼叫ShowPane可以出現 定時時間到達后視窗又消失
