Laden...

GELÖST -> Übergang von ArcSegment zu LineSegment zu lang

Erstellt von Troubadix vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.248 Views
Troubadix Themenstarter:in
25 Beiträge seit 2011
vor 11 Jahren
GELÖST -> Übergang von ArcSegment zu LineSegment zu lang

Hallo,

ich habe beim Zeichnen mit Path ein Darstellungsproblem. (.NET3.5)

Wenn ich sehr spitze Winkel zeichne wird dieser nicht korrekt gezeichnet.

Hier der Code mit dem ich das angehängte Bild gezeichnet habe.

figur.StartPoint = new Point(200, 100);
segmente.Add(new ArcSegment(new Point(200, 200), new Size(50, 50), 0, false, SweepDirection.Counterclockwise, true));
segmente.Add(new LineSegment(new Point(100, 200), true));

Im angehängten Bild kann man erkennen, dass der Umkehrpunkt am unteren Ende des Kreissegments deutlich weiter rechts liegt als der Startpunkt des Kreissegments, obwohl sie die gleiche X-Koordinate haben.
Wenn ich den Winkel entschärfe (z.B. die Linie senkrecht nach unten) dann wird der Übergang korrekt gezeichnet.

Hat hier jemand eine Idee woran das liegt bzw. wie ich das verhindern kann?

Grus
Troubadix

5.658 Beiträge seit 2006
vor 11 Jahren

Hi Troubadix,

passiert das auch, wenn du nur den Kreisbogen zeichnest (also ohne die darauffolgende Linie)?

Christian

Weeks of programming can save you hours of planning

Troubadix Themenstarter:in
25 Beiträge seit 2011
vor 11 Jahren

Hallo Christian,

nein wenn ich den Kreisbogen alleine zeichne wird er korrekt dargestellt. Ebenso wird er ja auch richtig angezeigt wenn die Linie und der Kreisbogen einen stumpfen Winkel bilden.

Gruß
Troubadix

6.862 Beiträge seit 2003
vor 11 Jahren

Schau mal hier: Pfeil mit Polygonen zeichnen: Linie steht über, ist das gleiche Grundproblem + Lösung.

Baka wa shinanakya naoranai.

Mein XING Profil.

Troubadix Themenstarter:in
25 Beiträge seit 2011
vor 11 Jahren

Hallo talla,

vielen Dank für den Hinweis auf den anderen Thread. Das hat geholfen!

Tut mir leid, dass ich den bei meiner Suche nicht gesehen habe. Hab wohl auch die falschen Begriffe verwendet.

-> Closed

Gruß
Troubadix