#1 23. September 2008 C# Grafik Speichern Moin Moin Ich habe ein Programm geschrieben mit dem ich zeichnen kann. Dafür benutze ich eine PictureBox und die methode creategraphics. Nun möchte ich das was ich gezeichnet habe als .bmp oder ähnliches speichern ich weiß nur nich wie -.- Kann mir da jemand helfen? Kleines Beispiel was ich mache: ... Graphics = pictureBox1.CreateGraphics(); g.DrawEllipse(...); ... + Multi-Zitat Zitieren
#2 23. September 2008 AW: C# Grafik Speichern Wenn der Inhalt wirklich in der Picturebox abgelegt ist, dann hilft folgendes: Code: picturebox.Image.Save( ... ); Davon gibt es mehrere "Exemplare": Code: public void Save(string filename); public void Save(Stream stream, ImageFormat format); ... Hilft das? Wenn nicht, dann poste doch bitte mal deinen Code (so wie du das ganze zeichnest). - - - + Multi-Zitat Zitieren
#3 23. September 2008 AW: C# Grafik Speichern Das oben ist quasi schon alles wie ich zeichne. Ich lege nen Objekt an und dieses Objekt hat methoden zum zeichen wie z.B: drawline. Das Problem ist ich weiß nicht wo er die grafik abspeichert. Es erscheint auf/in/über der PictureBox... PictureBox1.Image.save(...) speichert das bild ab welches vorher rein geladen wurde und nicht das was ich gezeichnet habe. + Multi-Zitat Zitieren
#4 23. September 2008 AW: C# Grafik Speichern Ändere den Ursprung deiner Graphics: Du lässt dir momentan von der PictureBox ein neues Graphics-Objekt (zum Zeichnen) erstellen. Nimm doch einfach das Graphics-Objekt von der PictureBox an sich. Dann sollte deine "Zeichnung" auch direkt auf den Daten der Picturebox landen, und du kannst es per Image.Save() speichern. Code: Graphics graphic = Graphics.FromImage(pictureBox1.Image); .... pictureBox1.Image.Save(...); // Um ein "neues" Image in die Textdatei zu laden (kein Bild), // kannst du folgenden Code verwenden: pictureBox1.Image = new Bitmap( pictureBox1.Width, pictureBox1.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb); Hilft das? ----------- Des Weiteren meine Testumgebung (im Spoiler) Spoiler Hier ein (fast) Minimalbeispiel, so wie ich es getestet habe. Auf dein Formular musst du eine Picturebox eingefügt haben. Code: public Form1() { InitializeComponent(); pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb); Graphics graphic = Graphics.FromImage(pictureBox1.Image); graphic.DrawLine(new Pen(Color.White, 1f), 0, 0, 10, 10); } private void pictureBox1_Click(object sender, EventArgs e) { pictureBox1.Image.Save("c:\\tmp.jpg", System.Drawing.Imaging.ImageFormat.Bmp); } + Multi-Zitat Zitieren
#5 25. September 2008 AW: C# Grafik Speichern Danke! Jetzt funktionierts! ich zeichne jetzt halt nicht mehr mit nem graphics objekt sondern direkt mit den graphics methoden in eine methode Ist noch bisl anders als dein vorschlag. Bitmap bmp = new Bitmap(...); Graphics.FromImage(bmp).DrawEllipse(...); + Multi-Zitat Zitieren