2016-05-10 52 views
2

私は次のようなシナリオを持っています。私はWPFの2点の間に円弧を描画していますが、円弧を埋める必要がありますが、異なっている。どのようにして私が望むように弧を埋めることができますか?WPFの円弧部分を塗りつぶし

PathGeometry pathGeometry = new PathGeometry(); 
    PathFigure pathFigure = new PathFigure(); 
    pathFigure.StartPoint = start; 
    ArcSegment arc = new ArcSegment(end, new Size(radiusX, radiusY), 0.0, large, d, true); //large & d corresponds to size & direction 
    pathFigure.Segments.Add(arc); 
    pathGeometry.Figures.Add(pathFigure); 
    SolidColorBrush fill = new SolidColorBrush(color); 
    drawingContext.DrawGeometry(fill, pen, pathGeometry); 

私のコードは次のような出力を生成します。私の要件はこの1つであるのに対し、enter image description here

enter image description here

が、これは終らの方法はありますか? TIA。

答えて

3

もちろん、円弧セグメントに沿って線分を追加するだけでいいです。

PathGeometry pathGeometry = new PathGeometry(); 
    PathFigure pathFigure = new PathFigure(); 
    pathFigure.StartPoint = start; 
    ArcSegment arc = new ArcSegment(end, new Size(radiusX, radiusY), 0.0, large, d, true); //large & d corresponds to size & direction 
    pathFigure.Segments.Add(arc); 

    //line segment takes the path to the origin 
    LineSegment line = new LineSegment(new Point(originX, originY), true); 
    pathFigure.Segments.Add(line); 

    pathGeometry.Figures.Add(pathFigure); 
    SolidColorBrush fill = new SolidColorBrush(color); 
    drawingContext.DrawGeometry(fill, pen, pathGeometry); 
+0

すごかった! ありがとうございました... – Joga

+0

昨日アーク・ドローで遊んだことがあります。 – Joe

関連する問題