olivier__ | Voila, je veux toujours afficher mon image .tga à l'écran, mais en plus je veux faire un zoom.
Je fais :
Code :
- hMemDC=CreateCompatibleDC(pDC->m_hDC);
- SetDIBits(hMemDC, hBitmap,0,ImageY,pDoc->GetImagePointer2(),pDoc->GetBmpInfo2(),DIB_RGB_COLORS);
- SelectObject(hMemDC, hBitmap);
|
puis dans la fonction OnDraw:
Code :
- StretchBlt(*pDC,0, 0, (ImageX*Zoom)/100,(ImageY*Zoom)/100,hMemDC,0,0,ImageX,ImageY, SRCCOPY);
|
Ca marche, mais le seul problème c'est qu'il refait à chaque fois le calcul pour zoomer dans la fonction OnDraw. Comme c'est une image assez lourde, ça rame beaucoup plus qu'un simple BitBlt.
Y a t'il un moyen pour qu'il fasse le calcul du zoom, qu'il mette le résultat dans le hMemDC, et qu'il ne reste à faire qu'un BitBlt dans OnDraw ?
Merci.
|