使用扁平线连接获得加宽路径几何

时间:2014-10-18 09:18:32

标签: c# wpf pathgeometry

关于在此线程上获取加宽的路径几何结构有一个很好的讨论:

Create a polygon around a polyline like a buffer

在我的情况下,我希望得到的外线不是"圆形",但是完全平坦。这可能吗?

我尝试更改行连接属性,但结果视觉效果没有变化。

以下是重现问题的代码:

private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        StreamGeometry geom = new StreamGeometry();

        DrawLines(geom);

        Pen p = new Pen(Brushes.Black, 10);
        p.LineJoin = PenLineJoin.Miter;
        p.EndLineCap = PenLineCap.Flat;    
        p.StartLineCap = PenLineCap.Flat;

        PathGeometry pathGeoWidened = geom.GetWidenedPathGeometry(p);
        PathGeometry pathGeom = pathGeoWidened.GetOutlinedPathGeometry();

        Path myPath = new Path();
        myPath.Stroke = Brushes.Black;
        myPath.Data = pathGeom;
        myCanvas.Children.Add(myPath);

    }

    private static void DrawLines(StreamGeometry geom)
    {
        using (var context = geom.Open())
        {
            context.BeginFigure(new Point(100, 100), true, true);
            context.LineTo(new Point(100, 200), true, true);
            context.LineTo(new Point(200, 200), true, true);
            context.LineTo(new Point(200, 100), true, true);
        }
    }

有什么想法吗?

伊戈尔。

1 个答案:

答案 0 :(得分:0)

使用PathGeometry代替StreamGeometry。出于某种原因,StreamGeometry始终具有圆形连接。