Entwickler-Ecke

WinForms - c# Bitmap


12profi - Do 22.07.10 13:40
Titel: c# Bitmap
Hallo,ich will eine art Paint erstellen jetzt habe ich es erstellt und es malt Gott sei dank auch aber eine sache wollte ich fragen wie erstelle ich das er die datei die in einem Panel gemalt wurde gespeichert wird


vielen dank im voraus
mfg 12profi


Th69 - Do 22.07.10 16:25

Du meinst wohl "..., dass die Grafik, die in einem Panel gemalt wurde, in eine Datei gespeichert wird."

Stichworte: Bitmap.Save bzw. Graphics.FromImage

Hier wollte jemand auch ein Paint-Klon schreiben: http://www.mycsharp.de/wbb2/thread.php?threadid=76980


12profi - Do 22.07.10 16:44

ok cool danke :)


12profi - Do 22.07.10 18:54

Hallo, ist der Code hier richtig weil wenn ich das Speicher und öffne zeigt er mir was leeres an:


C#-Quelltext
1:
2:
3:
4:
5:
6:
  SaveFileDialog sf = new SaveFileDialog();
            sf.FileName = "Keine Angabe";
            sf.Filter = "Bitmap|*.bmp";
            sf.ShowDialog();
            Bitmap b = new Bitmap(Width = 1482, Height = 811);
            b.Save(sf.FileName);


er soll bei einem Pint Programm (erster Beitrag schon erwähnt) es speichern
code fürs malen :



C#-Quelltext
1:
2:
3:
4:
5:
6:
            if (paint == true)
            {
            s.Color = colorDialog1.Color;  (s ist der name von meinen erstellten Solidebrush) ;)
               
               Graphics  g = panel1.CreateGraphics();
                g.FillEllipse(s, e.X, e.Y, 1010);


danke im voraus

mfg 12profi ;)

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christian S. - Do 22.07.10 19:30

Du erstellst ein neues Bitmap und speicherst das sofort. Was soll denn drin sein?


12profi - Do 22.07.10 19:53

also: Ich möchte ein Paint Programm entwickeln und habe es mit einem Panle erstellt aber wie speichere ich das gemlate im Panel
des geht ja net also will ich ein bitmap benutzen nur leider weiß ich nicht wie das geht

mfg


Christian S. - Do 22.07.10 19:57

Kannst Du mal bitte Satzzeichen benutzen, sonst kann man das ganz schwer lesen. Danke!

Was ich mit meiner Frage andeuten wollte: Du musst nach dem Erstellen schon noch irgendwas in das Bitmap reinpacken, sonst speicherst Du natürlich nur ein leeres Bitmap ab. Du kannst Dir dafür z.B. die DrawImage-Methode der Graphics-Klasse angucken!


12profi - Do 22.07.10 19:58

Ok!Könntest du mir bitte ein Beispiel geben?


Christian S. - Do 22.07.10 20:05

Mir fällt gerade ein, eine sehr ähnliche Frage hatte wir letztens: http://www.c-sharp-forum.de/viewtopic.php?p=611308#611308 Der Vorschlag mit dem Panel sollte das einfachste sein.


Th69 - Fr 23.07.10 08:05

Vielen Dank Christian,

genau diesen Beitrag hatte ich gesucht und wollte ihn eigentlich selber posten, habe aber nur den anderen (aus dem MyCSharp-Forum) gefunden gehabt -)

Und hallo 12profi,
wie Christian schon geschrieben hat, mußt du selbstverständlich erst etwas in die Bitmap zeichnen.

Und noch zum Schluß: CreateGraphics() sollte man nicht benutzen (benutzt du denn überhaupt das Paint-Ereignis? Dort kannst du dann mittels des PaintEventArgs-Parameter auf e.Graphics zugreifen.)

Am besten du liest dir folgenden Beitrag zum Zeichnen in WinForms durch (auch wieder aus dem anderen Forum -): http://www.mycsharp.de/wbb2/thread.php?threadid=21782

Wenn du das alles verstanden hast, dann sollte deinem Paint-Klon (fast) nichts mehr im Wege stehen...


12profi - Fr 23.07.10 20:32

danke ;)