WPF实现射线效果动画
来源:互联网 发布:淘宝2017官方版下载 编辑:程序博客网 时间:2024/06/05 23:03
最近的一个项目中有个需求是:从一个点向其它多个点发出射线,要求这些射线同时发出,同时到达。
我就想到了用WPF的动画来实现。WPF中有Line类用于绘制直线,但这个类中好像没有这样的方法能直接满足需求,只能自己写一个方法(我对WPF也只是刚入门,不确定是否有这样的方法)。
射线可以看作一个起点不变而终点一直在变化的直线,所以可以用WPF中的线性插值动画来动态改变终点坐标。
public void RayAnimation(Point from, Point to){ Storyboard myStoryBoard = new Storyboard(); Line myLine = new Line(); myLine.Stroke = Brushes.Red; myLine.StrokeThickness = 3; myLine.X1 = from.X; //必须要设置Line的起点X1,Y1,X2,Y2则不需要设置 myLine.Y1 = from.Y; Canvas1.Children.Add(myLine); //添加到Canvas1中 DoubleAnimation animationX = new DoubleAnimation(); //两个动画,分别负责myLine.X2和myLine.Y2的变化 DoubleAnimation animationY = new DoubleAnimation(); animationX.Duration = TimeSpan.FromMilliseconds(3000); animationY.Duration = TimeSpan.FromMilliseconds(3000); animationX.From = from.X; animationX.To = to.X; animationY.From = from.Y; animationY.To = to.Y; Storyboard.SetTarget(animationX, myLine); //设置Animation的目标 Storyboard.SetTarget(animationY, myLine); Storyboard.SetTargetProperty(daX, new System.Windows.PropertyPath("(Line.X2)")); //指定目标的属性 Storyboard.SetTargetProperty(daY, new System.Windows.PropertyPath("(Line.Y2)")); myStoryBoard.Children.Add(animationX); //添加到StoryBoard中 myStoryBoard.Children.Add(animationY); myStoryBoard.Begin(); //开始动画}
关于WPF动画的内容,有篇文章感觉很不错
http://www.cnblogs.com/libaoheng/archive/2012/04/23/2466242.html
0 0
- WPF实现射线效果动画
- WPF启动动画效果实现
- WPF 画线动画效果实现
- wpf实现三维漫游动画效果
- WPF动画效果
- wpf利用动画实现图形变化产生3d效果
- WPF实现3D翻转的动画效果
- WPF实现3D翻转的动画效果
- WPF实现3D翻转的动画效果
- WPF实现3D翻转的动画效果
- 用射线实现3D点击效果
- WPF 按钮动画效果制作
- wpf动画效果(转)
- WPF 有趣的动画效果
- WPF 实现水纹效果
- WPF实现下雪效果 ...
- WPF实现毛玻璃效果
- WPF 实现阴影效果
- xUtils异步HTTP源码分析
- yii框架自带demo中的blog与本地mysql数据库的交互实现(小白篇)
- hdoj 2054 A == B ?
- sqlserver2008连接问题,客户端能连接但telnet不通,程序也无法连接
- STM32开发板的Bootloader在哪里
- WPF实现射线效果动画
- [R]字符串函数
- 用户空间使用linux内核链表list编程
- ios8 sdk 推送兼容代码 registerForRemoteNotifications
- jboss7 配置远程调试
- C语言上机报告
- 用C#编写的求圆面积的
- TRIZ系列-创新原理-32-改变颜色原理
- Hibernate学习笔记--Criteria Query