如何在XAML中绘制一个“毛毡笔”风格的圆圈而不会结束

时间:2012-08-28 11:41:49

标签: wpf xaml

我正在设计一个带有XAML的Metro风格应用程序,我需要绘制一个圆圈,其末端不能正确地相遇,就好像它是用红色毡笔潦草地写的一样。像这样:

enter image description here

如何在XAML中完成?

2 个答案:

答案 0 :(得分:3)

好的,准备一点XAML:

<Path Grid.Row="1" Grid.Column="1" Margin="10"              
        Stroke="Red" StrokeThickness="5">
    <Path.Data>
        <PathGeometry>
            <PathGeometry.Figures>
                <PathFigureCollection>
                    <PathFigure IsClosed="False" StartPoint="5,50">
                        <PathFigure.Segments>
                            <PathSegmentCollection>

                                <ArcSegment Point="50,5" Size="80, 40" SweepDirection="Clockwise" />
                                <ArcSegment Point="95,50" Size="50, 50" SweepDirection="Clockwise" />
                                <ArcSegment Point="50,95" Size="50, 50" SweepDirection="Clockwise" />
                                <ArcSegment Point="5,55" Size="55, 100" SweepDirection="Clockwise" />

                            </PathSegmentCollection>
                        </PathFigure.Segments>
                    </PathFigure>
                </PathFigureCollection>
            </PathGeometry.Figures>
        </PathGeometry>
    </Path.Data>
</Path>

此代码生成:

enter image description here

您可以稍微调整坐标以获得更少的舍入结果,也可以使用BezierSegments。

答案 1 :(得分:1)

您可以使用available shapes in XAML绘制一个没有红色填充轮廓的封闭形状。特别是,您可以将形状轮廓基于BezierSegment