1.利用位圖
1)如何載入位圖
-
提前準備好.bmp格式的文件,將它放置到工程文件夾同名目錄的res目錄下(大多數保存的圖片都爲.jpg格式,只需要另存爲.bmp格式就行,也有相應的代碼可以修改)
-
在VC界面選擇資源視圖,下拉工程名,右擊.rc文件,選擇“添加資源”,在彈出的對話框當中選擇Bitmap,然後“導入”事先存好的.bmp文件
-
如何獲得位圖的ID
仙人掌旁邊的就是位圖的ID
2)代碼
我把它放置到OnPaint裏了,但同學說可以放在OnInitDialog裏,我嘗試了,但是沒成功原因還沒找(操作差不多一樣的,可能就是位圖ID的變化,裏邊函數原型都在筆記裏,也可以MSDN上查找)
//加載位圖
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
//選入DC
CClientDC cdc(this);
CDC comdc;
comdc.CreateCompatibleDC(&cdc);
comdc.SelectObject(&bitmap);
//生成BITMAP
BITMAP bit;
bitmap.GetBitmap(&bit);
//客戶區域
CRect rect;
GetClientRect(rect);
cdc.SetStretchBltMode(HALFTONE); //解決圖形失真問題
//用客戶區的DC繪製所生成的BITMAP,並適應爲窗口大小
cdc.StretchBlt(0,0,rect.Width(),rect.Height(),&comdc,0,0,bit.bmWidth,bit.bmHeight,SRCCOPY);
2.直接加載圖片(失真,而且沒找到解決的辦法)
直接上代碼
CRect rc;
GetWindowRect(&rc);
CImage mImage;
if(mImage.Load(_T("F:/test.jpg")) == S_OK)//圖片的路徑
{
//這裏讓圖片繪製區域和窗口大小一致
mImage.Draw(GetDC()->GetSafeHdc(), CRect(0,0,rc.Width(),rc.Height()));
}