Eine Bitmap erstellen und auf ihr zeichnen?
-
Hallo zusammen,
ich möcht in meinen Programm eine Bitmap erstellen und auf ihr Zeichnen. Leider Zeichnet das Programm nicht auf der Bitmap sondern auf dem Fenster.
Kann mir jemand sagen was ich falsch mache?
void CTouch_V1Dlg::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here // Do not call CDialog::OnPaint() for painting messages CDC* pDC = new CDC; pDC->CreateCompatibleDC( &dc ); CBitmap bmp; bmp.CreateCompatibleBitmap(pDC,200,200); pDC->SelectObject( &bmp ); CPen pen; pen.CreatePen(PS_SOLID,5,RGB(255, 0, 0)); dc.Ellipse(5,5,100,100); pen.DeleteObject(); dc.BitBlt(50,50,200,200,pDC,0,0,SRCCOPY); bmp.Detach(); bmp.DeleteObject(); ReleaseDC(pDC); pDC->DeleteDC(); delete pDC; }
Ein weiteres Problem habe ich mit der Ellipse. Diese sollte normalerweise einen Roten Rand in der Linienstärke 5 haben. Sie hat aber einen schwarzen in linienstärke 1.
Gruß spacehelix
-
dc.SelectObject(&pen);
-
Hi Evil,
damit ist das Problem mit dem Rand der Ellipse gelöst, aber auf die Bitmap wird noch nicht gezeichnet.
Gruß
spacehelix
-
öhm ja hallo^^
kann es sein das du das bild nacher zeichnest?
du musst das bild erst zeichnen und dann ellipse...tschüü
-
Hi,
du verstehst mich falsch. Ich möchte eine Bitmap erstellen auf der ich zeichne. Das Bild, dass ich auf die Bmp Zeichne soll in der Bitmap gespeichert bleiben. Die Zeichnung auf der Bitmap benötigt ein bischen was an Rechenzeit (bmp soll bei der Initalisierung gezeichnet werden). Während des Programmablauf sollen dann die gezeichneten Bitmaps auf dem Bildschirm mit BitBlt ausgegeben werden.
Gruß spacehelix