DeviceContext Abspeichern
-
http://wxwidgets.org/manuals/stable/wx_wxmemorydc.html#wxmemorydc
Da steht eigentlich alles. Und mit wxImage kannst du es dann als Bild speichern.
-
hmm,
soweit ich dich verstanden haben erzeugt man einen wxMemoryDC und führt darauf seine Zeichenoperationen durch, alsowxMemoryDC dc; dc.DrawPoint(x,y);
Dann erzeugt man ein wxImage:
wxImage image; image.SaveFile(wxT(“image.png”)), wxBITMAP_TYPE_PNG);
Aber wie speichert man nun den obigen DeviceContext in das Bild?
-
Dazu müsstest du dir die Klasse MemoryDC mal genauer anschauen...
-
Hallo,
ich habe jetzt mal folgendes versucht:wxMemoryDC memDC; wxBitmap bitmap(700, 700); ... memDC.SetPen(wxPen(wxColour(r,g,b))); memDC.DrawPoint(x,y); wxImage image = bitmap.ConvertToImage(); image.SaveFile(wxT("image.bmp"),wxBITMAP_TYPE_BMP);
Dieser Code kompiliert fehlerfrei, liefert aber ein total verrauschtes Bild. Was hab ich falsch gemacht?
-
phlox81 schrieb:
Dazu müsstest du dir die Klasse MemoryDC mal genauer anschauen...
Zarathustra schrieb:
Hallo,
ich habe jetzt mal folgendes versucht:wxBitmap bitmap(700, 700); wxMemoryDC memDC(bitmap); memDC.SetPen(wxPen(wxColour(r,g,b))); memDC.DrawPoint(x,y); wxImage image = bitmap.ConvertToImage(); image.SaveFile(wxT("image.bmp"),wxBITMAP_TYPE_BMP);
Dieser Code kompiliert fehlerfrei, liefert aber ein total verrauschtes Bild. Was hab ich falsch gemacht?
-
Ah ich habs, danke schön. Es hatte nur noch die Anwendung von SelectObjectAsSource gefehlt. D
Danke Schön!
-
Meine Lösung:
wxSize size = this->GetSize(); wxMemoryDC mdc; wxBitmap bitmap(size.x, size.y); mdc.SelectObject(bitmap); Draw(mdc); wxImage image = bitmap.ConvertToImage(); image.SaveFile(wxT("image.bmp"),wxBITMAP_TYPE_BMP);
Es funktioniert soweit. Hast du noch Verbesserungsvorschläge?
-
Meine Lösung:
wxSize size = this->GetSize(); wxBitmap bitmap(size.x, size.y); wxMemoryDC mdc(bitmap); Draw(mdc); wxImage image(bitmap) image.SaveFile(wxT("image.bmp"),wxBITMAP_TYPE_BMP);
phlox
-
..
-
wxImage(const wxBitmap& bitmap)
(Deprecated form, use wxBitmap::ConvertToImage instead.) Constructs an image from a platform-dependent bitmap. This preserves mask information so that bitmaps and images can be converted back and forth without loss in that respect.
Mit freundlichsten Grüßen
Oh, hatte das andersrum in Erinnerung. Gut zu wissen
phlox