如何以编程方式为路径设置动画

编程入门 行业动态 更新时间:2024-10-28 16:18:16
本文介绍了如何以编程方式为路径设置动画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个x,y坐标列表?

i have a list of coordinate of x, y?

我不知道M代表什么吗?

i do not know M stand for?

我猜是M,x,y

但无法将字符串传递给animationPath.Figures,我看到xaml是字符串

but can not pass string toanimationPath.Figures, i see that xaml it is a string

PathGeometry animationPath = new PathGeometry(); //PathFigure pFigure = new PathFigure(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.AppendLine(@" M, 0.9635179096, 0.2676438638, M, 0.9563515710, 0.2922185356, M, 0.9486832981, 0.3162277660, M, 0.9405538997, 0.3396444638, M, 0.9320046715, 0.3624462612, M, 0.9230769231, 0.3846153846, M, 0.9138115486, 0.4061384660, M, 0.9042486468, 0.4270063054, M, 0.8944271910, 0.4472135955, M, 0.8843847528, 0.4667586196, M, 0.8741572761, 0.4856429312, M, 0.8637789009, 0.5038710255, M, 0.8532818337, 0.5214500094, M, 0.8426962598, 0.5383892771, M, 0.8320502943, 0.5547001962, M, 0.8213699657, 0.5703958095, M, -0.8106792284, -0.5854905538, M, -0.8000000000, -0.6000000000, M, -0.7893522174, -0.6139406135, M, -0.7787539091, -0.6273295379, M, -0.7682212796, -0.6401843996, M, -0.7577688024, -0.6525231354, M, -0.7474093187, -0.6643638388, M, -0.7371541402, -0.6757246285, M, -0.7270131526, -0.6866235329, M, -0.7169949188, -0.6970783933, M, -0.7071067812, -0.7071067812, M, -0.6973549597, -0.7167259310, M, -0.6877446478, -0.7259526841, M, -0.6782801028, -0.7348034445, M, -0.6689647317, -0.7432941462, M, -0.6598011732, -0.7514402251, M, -0.6507913733, -0.7592566025, M, -0.6419366566, -0.7667576729, M, -0.6332377903, -0.7739572991, M, -0.6246950476, -0.7808688094, M, -0.6163082616, -0.7875050011, M, -0.6080768777, -0.7938781461, M, -0.6000000001, -0.7999999999, M, -0.5920764340, -0.8058818129, M, -0.5843047258, -0.8115343415, M, -0.5766831975, -0.8169678633, M, -0.5692099789, -0.8221921916, M, -0.5618830356, -0.8272166912, M, -0.5547001962, -0.8320502943, M, -0.5476591746, -0.8367015169, M, -0.5407575912, -0.8411784754, M, -0.5339929915, -0.8454889030, M, -0.5273628618, -0.8496401662, M, -0.5208646456, -0.8536392804, M, -0.5144957554, -0.8574929258, M, -0.5082535846, -0.8612074626, M, -0.5021355174, -0.8647889466, M, -0.4961389384, -0.8682431421, M, -0.4902612396, -0.8715755372, M, -0.4844998279, -0.8747913561, M, -0.4788521307, -0.8778955729, M, -0.4733156006, -0.8808929233, M, -0.4678877204, -0.8837879164, M, -0.4625660066, -0.8865848462, M, -0.4573480127, -0.8892878023, M, -0.4522313309, -0.8919006802, M, -0.4472135955, -0.8944271910, M, -0.4422924841, -0.8968708706, M, -0.4374657188, -0.8992350888, M, -0.4327310676, -0.9015230574, M, -0.4280863448, -0.9037378389, M, -0.4235294117, -0.9058823529, M, -0.4190581774, -0.9079593845, M, -0.4146705982, -0.9099715902, M, -0.4103646774, -0.9119215052, M, -0.4061384661, -0.9138115486, M, -0.4019900620, -0.9156440302"); animationPath.Figures = sb.ToString(); DoubleAnimationUsingPath pathAnimation1 = new DoubleAnimationUsingPath(); pathAnimation1.PathGeometry = animationPath; Storyboard s = new Storyboard(); //s.Children.Add(widthAnimation1); //s.Children.Add(heightAnimation1); //s.Children.Add(marginAnimation); s.RepeatBehavior = RepeatBehavior.Forever; s.Duration = new Duration(TimeSpan.FromSeconds(2));

新建

推荐答案

PathGeometry的Figures属性类型为PathFigureCollection,因此只能设置为PathFigureCollection. XAML解析器基于字符串为您创建PathFigureCollection.您可以使用PathFigureCollection.Parse进行相同的操作 方法:

The Figures property of an PathGeometry is of type PathFigureCollection and can thus only be set to a PathFigureCollection. The XAML parser creates a PathFigureCollection for you based on a string. You can do the same using the PathFigureCollection.Parse method: animationPath.Figures = PathFigureCollection.Parse(sb.ToString());

您的格式无效.这些点应仅以空格分隔,坐标应以逗号分隔,例如:

Your format is invalid though. The points should be separated by only a space and the coordinates by a comma, e.g:

sb.AppendLine(@" M 0.9635179096, 0.2676438638 M 0.9563515710, 0.2922185356 M 0.9486832981, 0.3162277660 M 0.9405538997, 0.3396444638 M 0.9320046715, 0.3624462612 M 0.9230769231, 0.3846153846 M 0.9138115486, 0.4061384660 M 0.9042486468, 0.4270063054 M 0.8944271910, 0.4472135955 M 0.8843847528, 0.4667586196");

>>我不知道M代表什么?

大写字母M表示新当前点的绝对位置.请参考MSDN以获取更多信息: msdn.microsoft/en-us/library/ms747393 (v = vs.110).aspx

The capital M indicates an absolute location for the new current point. Please refer to MSDN for more information: msdn.microsoft/en-us/library/ms747393(v=vs.110).aspx

希望有帮助.

请记住,通过将有用的帖子标记为答案来关闭话题,然后在遇到新问题时开始新话题.请不要在同一线程中问几个问题.

Please remember to close your threads by marking helpful posts as answer and then start a new thread if you have a new question. Please don't ask several questions in the same thread.

更多推荐

如何以编程方式为路径设置动画

本文发布于:2023-07-27 05:20:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1220573.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:路径   方式   动画

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!