PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C# Graphicspath?


Jesus
2005-10-22, 17:06:29
Moin,

ist es möglich in C# einen GraphicsPath.AddCurve in eine neue "Figure" einzubetten, ohne dass .Net den Anfangs und Endpunkt der Kurve immer verbindet?

Wenn ich nämlich eine Kurve aus 3 Punkten erzeuge, dann wird immer auch noch der 3. mit dem ersten verbunden (mit einer Geraden Linie)..


J.

rpm8200
2005-10-22, 22:21:19
Meinst Du DrawLines? Das verbindet soweit ich weiss alle Punkte eines arrays of points zu einem geschlossenen Objekt. Muss man DrawLine verwenden in ner Schleife. So hab ichs jedenfalls gemacht, weil ich keine andere Möglichkeit gesehen habe. Wenn Dein Prob ein ganz anderes ist beschreib es etwas detaillierter...

Jesus
2005-10-23, 12:11:38
Nein ich benutze kein DrawLines

Ich mache es so:


GraphicsPath p;

p.StartFigure();
p.AddCurve(ps); // ps ist ein PointF Array, miestens 2 oder mehr
p.CloseFigure();

e.Graphics.DrawPath(p);

Nur werden in diesem ps Array alle Punkte automatisch miteinander verbunden. Wenn ich aber StartFigure und CloseFigure weglasse, siehts besser aus, ich habe aber dadurch keine Objekte mehr und es wird immer noch der allerletzte Punkt der letzten Kurve mit dem ersten verbunden.
(sind sehr viele Kurven in diesem Graphicspath)

Xmas
2005-10-23, 12:23:26
Schließt die aktuelle Figur und beginnt eine neue. Wenn die aktuelle Figur eine Abfolge verbundener Linien und Kurven enthält, schließt die Methode die Schleife, indem End- und Anfangspunkt durch eine Linie verbunden werden.

Startet eine neue Figur, ohne die aktuelle zu schließen. Alle nachfolgenden Punkte, die dem Pfad hinzugefügt werden, werden dieser neuen Figur hinzugefügt.

Also: CloseFigure weglassen, StartFigure nicht.

Jesus
2005-10-23, 12:29:43
Also: CloseFigure weglassen, StartFigure nicht.

Super danke! Sollte wohl etwas genauer lesen :biggrin: