J'ai les tableaux PathPoints et PathTypes suivants (format: X, Y, Type):Comment déterminer les points d'extrémité d'Arcs dans les tableaux PathPoints et PathTypes de GraphicsPath?
-177.477900, 11021.670000, 1
-614.447200, 11091.820000, 3
-1039.798000, 10842.280000, 3
-1191.761000, 10426.620000, 3
-1591.569000, 10493.590000, 3
-1969.963000, 10223.770000, 3
-2036.929000, 9823.960000, 3
-2055.820000, 9711.180000, 3
-2048.098000, 9595.546000, 3
-2014.380000, 9486.278000, 3
Voici ce que cela GraphicsPath ressemble physiquement. Les 2 arcs sont très différents: alt text http://i45.tinypic.com/2agj1gl.jpg
Je sais que ce tableau GraphicsPath.PathData a été créé par 2 commandes AddArc. En parcourant le code dans le débogueur, j'ai vu que les 4 premières valeurs PathData ont été ajoutées par la première commande AddArc, et les 6 points restants ont été ajoutés par la 2ème commande AddArc. En examinant les tableaux pathpath/pathtype (sans savoir auparavant que c'était 2 commandes AddArc, donc je saurais que j'ai 2 points de début et de fin), je voudrais déterminer le point de début et de fin de chaque arc.
J'ai essayé plusieurs calculs de Bézier pour "recréer" les points dans le tableau, mais je suis incapable de déterminer comment déterminer les points de départ et d'arrivée séparés. Il semble que GDI + combine le point de départ/fin entre les arcs (ils sont le même point et les arcs sont connectés), et je perds le fait qu'un arc se termine et que l'autre commence.
Des idées?
Cela peut aider aussi longtemps que vous pouvez réellement ajouter des marqueurs lorsque vous créez un chemin. Mais ce n'est pas toujours possible. Regardez [cette réponse] (http://stackoverflow.com/questions/1790862/how-to-determine-endpoints-of-arcs-in-graphicspath-pathpoints-and-pathtypes-arra/17339215#17339215) pour mieux comprendre comment 'GraphicsPath' est construit en interne. – SiliconMind