2015-10-06 89 views
0

我已經無意中將Ellipse轉換爲PathGeometry。 我試圖使用ArcSegment來呈現橢圓,但仍然不知道如何將橢圓大小轉換爲ArcSegment大小。我試圖將橢圓分割成兩部分,但還有其他方法,即貝塞爾曲線。 需要線索如何將Ellipse轉換爲ArcSegment集合。 整個過程可以尋找這樣的:在Windows Phone 8.1上將Ellipse或EllipseGeometry轉換爲PathFigure

public static PathFigure ToFigures(this Ellipse ellipse) 
{ 
    var pathFigure = new PathFigure {IsClosed = true}; 
    var arcSegment1 = new ArcSegment(); 
    var arcSegment2 = new ArcSegment(); 
    pathFigure.Segments.Add(arcSegment1); 
    pathFigure.Segments.Add(arcSegment2); 
    return pathFigure; 
} 
+0

你只是試圖把橢圓分割成弧段中的兩個部分嗎?或者是弧段甚至是必需的,你可以做一個橢圓幾何或只是一個路徑作爲橢圓? –

+0

橢圓分成兩部分將會很好。作爲源對象,我有Ellipse或EllipseGeometry作爲選擇。對於輸出,需要PathGeometry或PathFigure。 – Dmitry

+0

所以,如果你不想/徒手畫你的幾何圖形,一個非常簡單的方法來做到這一點。打開混合,在美工板上按照自己的喜好拖放一個橢圓,然後右鍵單擊 - >路徑 - >轉換爲路徑。除非我提到源和輸出結果,否則我仍然不確定你想要做什麼。這聽起來更像是你在尋找一款轉換器。 –

回答

1

你可以直接使用EllipseGeometry的路徑數據:

path = new Path 
{ 
    Data = new EllipseGeometry { RadiusX = 100, RadiusY = 50 } 
}; 

使用橢圓的大小,它應該是這樣的:

path = new Path 
{ 
    Data = new EllipseGeometry 
    { 
     RadiusX = ellipse.ActualWidth/2, 
     RadiusY = ellipse.ActualHeight/2 
    } 
}; 
相關問題