2010-12-14 5 views
0

Ich verwende C# und zeichne das Bild programmgesteuert (da das Bild je nach Laufzeitwerten der Parameter in meiner Anwendung abweichen kann). Ich komme mit nicht generischen geschlossenen Konturen (die aus geraden Linien und Kurven bestehen). Jetzt muss ich diese mit verschiedenen Farben füllen. Irgendeine Idee, wie kann ich das erreichen?Nicht generische Konturen einfärben

Vielen Dank im Voraus.

+0

Aus Neugier, was bedeutet nicht-generisch in diesem Zusammenhang? – LarsH

+0

Nicht-generische Bedeutung nichts wie gewöhnliche Polygone, Kreise, Ellipse ... – Milena

Antwort

0

Werfen Sie einen Blick auf flood fill algorithms. Es ist wahrscheinlich besser, eine Bitmap zu zeichnen und dann in die Formulare zu rendern (ich nehme an, dass Sie WinForms verwenden).

0

Wenn es Winforms ist, denke ich am besten ist FillRegion. Oder versuchen Sie Flood Fill. Leider ist das nicht so einfach, weil dort kein natives Flood .net einfügt. Aber es gibt kostenlose Implementierungen und Möglichkeiten, es von GDI

0

zu importieren Sie können die PathGradientBrush dafür verwenden. Here's an code example

Public NotInheritable Class PathGradientBrush 
      Inherits System.Drawing.Brush 
    Member of System.Drawing.Drawing2D 
Summary: 
Encapsulates a System.Drawing.Brush object that fills the interior of a System.Drawing.Drawing2D.GraphicsPath object with a gradient. This class cannot be inherited.