Bitmap stauchen/dehnen



  • Hallo Ich habe ein CBitmap-Objekt mit entsprechender Breite und Höhe. Wie kann ich die Bitmap um einen bestimmten Prozentsatz stauchen, bzw. dehnen?

    Danke im voraus



  • schau Dir mal CDC::StretchBlt an:

    CClientDc aDC(this);
    BITMAP bm;
    aBitmap->GetBitmap( &bm );//aBitmap sei mal ein CBitamp*
    CDC ImgMemDC;// Gerätekontext erzeugen, in den Bitmap geladen wird
    ImgMemDC.CreateCompatibleDC( &aDC );
    CGdiObject* pOldObject = ImgMemDC.SelectObject( aBitmap );	
    aDC.SetStretchBltMode( COLORONCOLOR );
    aDC.StretchBlt( m_rDestRect.left, m_rDestRect.top, m_rDestRect.right - m_rDestRect.left, m_rDestRect.bottom - m_rDestRect.top, &ImgMemDC, m_rSourceRect.left, m_rSourceRect.top, m_rSourceRect.right - m_rSourceRect.left, m_rSourceRect.bottom - m_rSourceRect.top, SRCCOPY );
    ImgMemDC.SelectObject( pOldObject );
    


  • Hallo,

    da nimst du dir den dreisats und rechndest dir das prozentual aus.(in Pixtel)
    dan mit StretchBlt() ferendern.

    CBitmap bmp; 
        CBitmap bild; 
        bmp.LoadBitmap(IDB_BITMAP1); 
    
        CDC SpeicherDC; 
        SpeicherDC.CreateCompatibleDC(dcPrint); 
        SpeicherDC.SelectObject( &bmp ); 
    
        dcPrint->StretchBlt( 0, 0, 640, 200, &SpeicherDC, 0, 0, 100, 100, SRCCOPY );
    

    MFG TaccoGo


Anmelden zum Antworten