CBitmap manipulieren



  • Guten Abend, zusammen

    Mein Programm enthält mehrere Bilder, die in CBitmap-Objekten gespeichert sind. Ein größeres CBitmap-Objekt soll ein Bild verwalten, das aus Bildern der anderen CBitmap-Objekte besteht.

    Wie füge ich ein Bild (aus CBitmap) in ein CBitmap-Objekt ein - mit einem CDC-Objekt und CreateBitmap? Aber wie - oder was meint ihr dazu?



  • Hi,

    ich verstehe die Frage nicht so richtig. Willst du jetzt eine
    Bitmap über eine andere anzeigen lassen oder wie?

    Gruß Crabbe



  • Nein, nach dem Start des Programms soll es beispielsweise drei CBitmap-Objekte geben. Zwei Objekte laden ein Bild aus einer Ressource, nennen wir sie m_pBitmap1 und m_pBitmap2. Das dritte CBitmap-Objekt soll nach dem Start leer sein, nennen wir es m_pBitmapMain.

    Während das Programm läuft, soll ein neues Bitmap erstellt werden, dass in m_pBitmapMain gespeichert werden soll und Bildelemente von m_pBitmap1 und m_pBitmap2 enthalten soll. Doch wie bringe ich diese Elemente in das Objekt m_pBitmapMain?

    Noch ein Beispiel:
    m_pBitmap1 besitzt ein Bild mit Baum
    m_pBitmap1 besitzt ein Bild mit einer Sonne (...)
    m_pBitmapMain soll folglich ein Bild mit Baum und Sonne enthalten

    Und wiederrum die Frage: Wie bringe ich m_pBitmap1 und m_pBitmap2 in m_pBitmapMain?



  • Hi,
    ich verstehe immer noch nicht warum du nicht einfach eine neu Bitmap zeichnest mit Baum und Sonne und diese dann anzeigen lässt.
    Du könntest auch deine dritte Bitmap laden und dann den Baum und die Sonne auf
    dieser Bitmap anzeigen lassen.

    Wenn du willst kann ich dir den Quellcode dafür schicken, wenn du deine Email adresse hier angibst oder ich poste ihn direkt hier.

    Gruß Crabbe



  • //Gerätekontext erstellen
    	CDC dcmain;
    	CDC dc1;
    	CDC dc2;
    	//bilder in die DC laden
    	dcmain.SelectObject(&bmpmain);
    	dc1.CreateCompatibleDC(&dcmain);//weiß jetzt nicht ob´s notwendig ist
    	dc2.CreateCompatibleDC(&dcmain);//weiß jetzt nicht ob´s notwendig ist
    	dc1.SelectObject(&bmp1);
    	dc2.SelectObject(&bmp2);	
    	//Bilder 1 u.2 in das Main-Bild laden
    	dcmain.BitBlt(x1,y1,width_bild1,height_bild1,&dc1,0,0,SRCCOPY);
    	dcmain.BitBlt(x2,y2,width_bild2,height_bild2,&dc2,0,0,SRCCOPY);
    

    währe doch eine Möglichkeit
    MFG, Sigi


Anmelden zum Antworten