wpf怎么绘制曲线
发布网友
发布时间:2022-04-30 04:07
我来回答
共1个回答
热心网友
时间:2023-04-25 18:08
不需要很大的程序便能完成这一功能。谁说XAML里面的就无法修改了? 我分别给你用XAML和C#绘个三次方贝塞尔曲线吧。
首先你得知道它是个什么东西:它有4个点。分别是,起点(start),两个控制点(point1,point2), 终点point3。
通俗点说它是一条从起点出发走向控制点point1,再走向point2, 最后达到终点point3的曲线。要修改的话,自己改point1, point2, point3来达到自己的效果。
XAML代码:
<Path Stroke="Black" StrokeThickness="2" Grid.Column="0" Grid.Row="4">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="0,0">
<BezierSegment Point1="250,0" Point2="50,200" Point3="300,200"></BezierSegment>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
对应的C#代码:
private void DisplayBezierSegment()
{
PathFigure pf = new PathFigure();
pf.StartPoint = new Point(0, 0);
BezierSegment bzer = new BezierSegment(new Point(250, 0), new Point(50, 200), new Point(300, 200), true);
pf.Segments.Add(bzer);
List<PathFigure> lstFigure = new List<PathFigure>();
lstFigure.Add(pf);
PathGeometry pg = new PathGeometry(lstFigure.ToArray());
Path pa = new Path();
pa.Data = pg;
// 显示
this.Content = pa;
}
最后附效果图一张
追问不要这个曲线,我要的是坐标轴,然后加直线就好了!最好有个源码我看看!wpf绘图需要画布么?
追答你不是说要坐标轴和曲线吗?现在要直线?上面贴的就是绘制的源码。 你把Point 1, 2,3变的一样就是直线了,自己随意改。绘图可以用画布也可以不用。