Hintergrundfarbe beim Bitmap bestimmen
-
Juhu!
Ich zeichne etwas(mit DrawLine etc), speichere es in ein Bitmap und will das Bitmap danach auf dem Bildschirm anzeigen. So weit funktioniert das auch noch, aber die Hintergrundfarbe von meinem Bitmap ist schwarz, obwohl ich ihm das nie gesagt habe. Wie kann ich die Bitmap-Hintergrundfarbe ändern? (Wenn ich das Bitmap so öffne(nicht aus meinem Programm), ist der Hintergrund auch schon schwarz.Sprich: es muss vor dem Speichern geändert werden)
Gruss Daniel
-
Hallo Gandi !
Das mit dem schwarzen Hintergrund in der Bitmap wird wahrscheinlich desshalb so sein, weil Du die Bitmap mit noch keiner anderen Farbe gefüllt hast. Wahrscheinlich ist der Farbwert der Farbe 0 (=Hintergrundfarbe) in der Systempalette eben 0 (=Schwarz). Also folgender Vorschlag für die OnPaint-Methode; Du füllst die Bitmap vor dem Zeichnen in diese mit einer Farbe. Folgende Lösung kann ich Dir anbieten...
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics gfxform = e.Graphics; // Graphics-Objekt aus der aktiven Form erstellen Graphics gfxbmp = Graphics.FromImage(bmp); // Graphics-Objekt aus der vordefinierten Bitmap gfxform.DrawEllipse(new Pen(Color.Red),50,50,200,100); // Ellipse in die Form zeichnen gfxform.DrawLine(new Pen(Color.Green),0,0,300,200); // Linie in die Form zeichnen gfxbmp.FillRectangle(new SolidBrush(Color.White),0,0,bmp.Size.Width,bmp.Size.Height); // Weissen Hintergrund in die Bitmap malen gfxbmp.DrawEllipse(new Pen(Color.Red),50,50,200,100); // Ellipse in die Bitmap zeichnen gfxbmp.DrawLine(new Pen(Color.Green),0,0,300,200); // Linie in die bitmap zeichnen }
Jetzt hat die Bitmap beim Laden in irgendein Zeichenprogramm auch die Hintergundfarbe Weiss.
Gruß MacReeg
-
Danke!!
Hat funktioniert.
Gruss Gandi
-
Wie funktioniert das eigentlich mit transparentem Hintergrund?
Hab gelesen, das das nur bei jpg und noch 2 oder 3 anderen Grafikformaten geht.[ Dieser Beitrag wurde am 04.11.2002 um 13:51 Uhr von ms editiert. ]
-
meines wissens bei gif und png
der IE kann keine transparenten jpegs darstellen (oder irre ich da?). nehm daher für sowas immer gif!