Harkonnen Modérateur Un modo pour les bannir tous | lecoyote a écrit :
j'ai récupéré ce source :
Code :
- void CAfficheimageDlg::OnPaint()
- {
- CPaintDC dc(this);
- HBITMAP bit;
- BITMAP bitmap;
- // on charge une image dans le HBITMAP bit
- bit = (HBITMAP)
- LoadImage(NULL,"image.bmp",IMAGE_BITMAP,0,0,LR_DEFAULTSIZE|LR_LOADFROMFILE);
- // on créé un contexte de périphérique, pour dessiner
- HDC bit_dc = CreateCompatibleDC(dc);
- // on rattache ce contexte à la bitmap de l'image
- SelectObject(bit_dc,bit);
- // on récupère les informations de l'image dans la structure bitmap
- GetObject(bit, sizeof(BITMAP),&bitmap);
- // on récupère la largeur et la hauteur de l'image
- int LS = bitmap.bmWidth;
- int HS = bitmap.bmHeight;
- // on copie dans le contexte de périphérique créé une partie de l'image source(de dimension 300x240, à la position (60,70)
- StretchBlt(dc,70,60,300,240,bit_dc,0,0,LS,HS,SRCCOPY);
- }
|
|
Ceci est une fonction réagissant à l'évènement WM_PAINT (quand la fenêtre doit être redessinée), très lent car chargeant l'image à chaque fois, et utilisant les MFC, donc certainement codée sous Visual C++, et avec les pieds
edit: grilled Message édité par Harkonnen le 04-03-2004 à 13:30:26
|