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 enthaltenUnd 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