Ucitavas sliku sa LoadImage - za JPG slike moras imati posebnu biblioteku jer ova funkcija cita samo BMP-ove ...
Code:
HBITMAP hBitMap = (HBITMAP)::LoadImage(0, "c:\\mojaslika.bmp",IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
Sledeci korak je da napravis CBitmap objekat od ucitane bitmape(hBitMap) ..
Code:
if (hBitMap)
{
CBitmap bmp;
bmp.Attach(hBitMap);
Invalidate() ;
}
Invalidate() metoda sluzi da bi naterao svoj prozor da se iscrta ponovo cim ucitas bitmapu
tj. poziva se OnPaint metoda gde ces obaviti crtanje uz pomoc GDI funkcija ...
U OnPaint metodi :
Code:
// kostrukcija device contexta pomocu kojeg crtas po prozoru .
CPaintDC dc (this) ;
//uzmi strukturu u kojoj se nalaze informacije od bitmape (sirina,visina ..itd..)
BITMAP bmpInfo;
bmp.GetBitmap(&bmpInfo);
UINT nWidth = bmpInfo.bmWidth ;
UINT nHeight = bmpInfo.bmHeight ;
//pravis memorijsku kopiju device -contexta (CDC) u koju ces da smestis tvoju bitmapu
CDC memDC ;
memDC.CreateCompatibleDC(&dc) ;
//ucitas bitmapu u kopiju CDC-a
memDC.SelectObject(&bmp) ;
//Najzad iskopiras bitmapu na tvoj prozor ....
dc.BitBlt(0,0,nWidth ,nHeight,&memDC,0,0,SRCCOPY) ;
memDC.DeleteDC() ;
}
Viva lollapalooza