我有以下PathPoints和PathTypes陣列(格式:X,Y,類型):如何確定GraphicsPath PathPoints和PathTypes數組中的弧的端點?
-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
以下是此GraphicsPath身體的樣子。這2個弧是非常明顯的: alt text http://i45.tinypic.com/2agj1gl.jpg
我知道這個GraphicsPath.PathData數組是由2個AddArc命令創建的。在調試器中遍歷代碼,我看到前4個PathData值由第一個AddArc命令添加,其餘6個點由第二個AddArc命令添加。
通過檢查原始pathpoints/pathtype數組(先前不知道它是2 AddArc命令,所以我知道我有2個開始和結束點),我想確定每個弧的開始和結束點。
我已經嘗試了幾次貝塞爾計算來'重新創建'數組中的點,但是在確定如何確定單獨的開始點和結束點時處於不知所措的狀態。看起來,GDI +正在結合弧線之間的起點/終點(它們是相同的點和弧線連接),並且我失去了一個弧線正在結束而另一弧線正在起跑的事實。
任何想法?
只要實際上可以在創建路徑時添加標記,這可能會有所幫助。但這並不總是可能的。看看[這個答案](http://stackoverflow.com/questions/1790862/how-to-determine-endpoints-of-arcs-in-graphicspath-pathpoints-and-pathtypes-arra/17339215#17339215)更好地理解如何在內部構造'GraphicsPath'。 – SiliconMind 2013-06-27 09:24:41