Hallo,
ich habe ein Image welches ich in einer PictureBox anzeigen lassen.
Dann habe ich eine Methode, die auf diesem Image eine Linie einzeichnet.
Allerdings soll eine Methode diese Linie wieder entfernen.
Also zeichen mach ich so:
Graphics g = Graphics.FromImage(img);
g.DrawLine(new Pen(Color.Red), new Point(0, 0), new Point(100, 100));
pictureBox1.Refresh();
Jetzt weiß ich aber nicht, wie ich diese Linie wieder entfernen kann.
Ich habe es mit g.Restore(); versucht, aber ohne Erfolg, die Linie ist weiterhin sichtbar.
Weiß jemand Rat?
Was ich nicht machen möchte, ist jedes wenn die Methode aufgerufen wird, mein Urbild zu klonen und der PictureBox zuzuweisen, da die Methode sehr oft aufgerufen wird.
Also:
pictureBox1.Image = (Image)urbild.Clone();
pictureBox1.Refresh();
Funktioniert zwar, da aber die Methode mehrere male pro Sekunde aufgerufen wird, ist dies wie ich finde eher Suboptimal.
Hat jmd. eine andere Idee?
PS: Irgendwie finde ich nicht die richtigen Suchwörter für Google 😠
picturebox.invalidate()
denke ich mal. zumindest mach ich das damit.
Ein transparentes Panel über die Picturebox legen und dort pinseln ?
Hallo Qwald,
quasi das gleiche hatten wir neulich schon Rechteck in einer Grafik neuzeichnen ?!?!
herbivore