2009-08-26 9 views
0

Ich habe Code:FillRectangle hat keine Auswirkungen auf Grafiken aus Bitmap?

using (Graphics g = control.CreateGraphics()) 
{ 
    Bitmap bm = new Bitmap(r.Width, r.Height, g); 
    using (Graphics gbm = Graphics.FromImage(bm)) 
    { 
     gbm.FillRectangle(Brushes.Green, r); 
     form.BackgroundImage = bm; 
     form.BackgroundImageLayout = ImageLayout.Zoom; 
    } 
} 

Aber das FillRectangle scheint keine Wirkung zu haben. Irgendeine Idee?

Antwort

0

Vielleicht könnten Sie versuchen, Ihren Code in ein neues leeres Projekt zu kopieren, um zu sehen, ob FillRectangle noch keine Wirkung hat. Vielleicht ist etwas anderes in Ihrem Code der Schuldige.

+0

Ja, wie ein Idiot, der ich bin, habe ich vergessen, dass das Rechteck außerhalb der Bitmap liegt. –

0

Haben Sie versucht, FillRectangle die letzte Grafik in diesem Block zu machen? Der nachfolgende Hintergrund-Hintergrund verursacht wahrscheinlich, dass OnPaint erneut ausgelöst wird, wodurch das Rechteck überstrichen wird. Je nachdem, in welcher Methode dieses Code-Snippet angezeigt wird, wird dies wahrscheinlich jedes Mal passieren, wenn ein Repaint auftritt.

Verwandte Themen