Ipicture als jpg speichern



  • Hallo,
    ein Bild wird aus einem Dialog ausgewählt und in meinem Picture Control als IPicture dargestellt.
    Das geschicht mit der Funktion render. Jetzt vergrößere ich den Bildausschnitt auch mit Render. Der nun dargestellte Bildausschnitt soll als jpg auf der Platte gespeichert werden, so dass ich damit weiter arbeiten kann.
    Hier mein Code. Ich hoffe die KOmmentare sind verständlich 😉

    Danke

    CBitmap bmp; // Bitmap for our picture
      if (bmp.CreateBitmap(240,240,1,24,NULL))
      {
        CDC dcMemory;
        dcMemory.CreateCompatibleDC(NULL);
    
        HDC hDC = dcMemory.GetSafeHdc();
        long hmWeite;
    		long hmHoehe;
    		CRect zeichenflaeche(0,0,239,239);
    		pIPic->get_Width(&hmWeite);
    		pIPic->get_Height(&hmHoehe);
    
        if (hmHoehe < hmWeite)  //Querformat
    		{
          double f = m_mode[m_modeVar];
          long Hoehe = zeichenflaeche.Height();
          long Breite= zeichenflaeche.Width();
    			pIPic->Render(hDC,
    			zeichenflaeche.left,
                            zeichenflaeche.top, 
    			240, //zeichenflaeche.Width(), 
    			240, //zeichenflaeche.Height(),					                       (hmWeite-f*hmHoehe)/2,  // horizontaler Offset im original Bild
    			hmHoehe-(hmHoehe-f*hmHoehe)/2,  // vertikaler Offset im original Bild
    			f*hmHoehe, // wie viel vom ori ginal Bild ausgeschnitten werden soll - horizontal
    			-f*hmHoehe, // wie viel vom original Bild ausgeschnitten werden soll - vertikal
    			NULL);
    		}
    

Log in to reply