WhyMe HFR ? Nan, connais pas ... | Je veux afficher un bitmap redimensionnée ds un CStatic ; mon bitmap est correct, mais le stretch ne change rien, mon image affichée à tjs sa taille d'origine ; aucun message d'erreur ...
Code :
- CStatic* l_pCStatic ;
- HBITMAP l_HBITMAP ;
- HDC l_HDC ;
- l_HDC = ::GetDC ( this->m_hWnd ) ;
- // Création d'un bitmap
- if ( ( l_HBITMAP = CreateDIBitmap ( l_HDC, ( BITMAPINFOHEADER* ) l_pV_VideoFrameBuffer, CBM_INIT, ( BYTE* ) l_pV_VideoFrameBuffer + ( ( BITMAPINFOHEADER* ) l_pV_VideoFrameBuffer )->biSize + ( ( BITMAPINFOHEADER* ) l_pV_VideoFrameBuffer )->biClrUsed * sizeof ( RGBQUAD ), ( BITMAPINFO* ) l_pV_VideoFrameBuffer, DIB_RGB_COLORS ) )== NULL )
- return ;
- if ( StretchDIBits ( ( HDC ) l_HBITMAP, 0, 0, l_BITMAPINFOHEADER.biWidth / 2, l_BITMAPINFOHEADER.biHeight / 2, 0, 0, l_BITMAPINFOHEADER.biWidth, l_BITMAPINFOHEADER.biHeight, ( BYTE* ) l_pV_VideoFrameBuffer + ( ( BITMAPINFOHEADER* ) l_pV_VideoFrameBuffer )->biSize + ( ( BITMAPINFOHEADER* ) l_pV_VideoFrameBuffer )->biClrUsed * sizeof ( RGBQUAD ), ( BITMAPINFO* ) l_pV_VideoFrameBuffer, DIB_RGB_COLORS, SRCCOPY ) == GDI_ERROR )
- {
- int i = GetLastError() ;
- }
- l_pCStatic = new ( CStatic ) ;
- l_pCStatic->Create ( "", WS_CHILD + WS_VISIBLE + SS_BITMAP, CRect ( 0, 200, 0 + l_BITMAPINFOHEADER.biWidth / 2, 200 + l_BITMAPINFOHEADER.biHeight / 2 ), this ) ;
- l_pCStatic->SetBitmap ( l_HBITMAP ) ;
|
Pour faire + clair :
Code :
- CStatic* l_pCStatic ;
- HBITMAP l_HBITMAP ;
- HDC l_HDC ;
- l_HDC = ::GetDC ( this->m_hWnd ) ;
- // Création d'un bitmap
- if ( ( l_HBITMAP = CreateDIBitmap ( l_HDC, ... ) )== NULL )
- return ;
- if ( StretchDIBits ( ( HDC ) l_HBITMAP, 0, 0, X / 2, Y / 2, 0, 0, X, Y, ... ) == GDI_ERROR )
- GetLastError() ;
- l_pCStatic = new ( CStatic ) ;
- l_pCStatic->Create ( "", WS_CHILD + WS_VISIBLE + SS_BITMAP, CRect ( 0, 200, 0 + X / 2, 200 + Y / 2 ), this ) ;
- l_pCStatic->SetBitmap ( l_HBITMAP ) ;
|
Message édité par WhyMe le 29-11-2002 à 14:02:18 ---------------
FeedBack HFR
|