WPF将Point数组转换为PathGeometry

xaml页面代码,用的画布,用鼠标画线,然后记录画的Point点

<Canvas x:Name="can01"   Background="LightGreen"  MouseMove="Canvas_MouseMove"  ></Canvas>
      /// <summary>
        /// 鼠标画线轨迹
        /// </summary>
      static  List<Point> points = new List<Point>();


private void Canvas_MouseMove(object sender, MouseEventArgs e)
{
	if (isMouseDown)
	{
		Line line = new Line();
		line.Name = "guiji02";
		line.X1 = startPoint.X;
		line.Y1 = startPoint.Y;

		line.X2 = e.GetPosition(this.can01).X;
		line.Y2 = e.GetPosition(this.can01).Y;

		line.Stroke = Brushes.Black;
		lineList.Add(line);
		this.can01.Children.Add(line);
		startPoint = e.GetPosition(this.can01);

		记录路径点
		points.Add(startPoint);
	}
}

//将Point点集合转换为PathGeometry
if (points.Count == 0)
{
	return;
}

//鼠标绘制的路径     
List<LineSegment> segments = new List<LineSegment>();
foreach (var item in points)
{
	segments.Add(new LineSegment(item, true));
}
PathFigure figure = new PathFigure(points.First(), segments, false);
PathGeometry myPathGeometry = new PathGeometry();
myPathGeometry.Figures.Add(figure);	  
//这个myPathGeometry可用于动画移动路径

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王焜棟琦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值