MSDN 教程短片 WPF 16(Path路径)
制作动画路径-Path
Path中有个Date属性,用来获取或设置指定要绘制的形状的 Geometry。
所以我们画一个圆来和一个椭圆路径,是圆在椭圆路径上移动,我们先画个圆。
<Ellipse x:Name="e1" Stroke="Black" Width="50" Height="50" Fill="Red" Margin="0,0,228,211"></Ellipse>
在画一个路径
<Path x:Name="p1" Stroke="Blue"> <Path.Data> <EllipseGeometry x:Name="eg1" Center="120,100" RadiusX="100" RadiusY="50"> </EllipseGeometry> </Path.Data> </Path>
<Ellipse x:Name="e1" Stroke="Black" Width="50" Height="50" Fill="Red" Margin="0,0,228,211">
<Ellipse.RenderTransform>
<TransformGroup>
<TranslateTransform X="-25" Y="-15"/>
<MatrixTransform x:Name="m1"/>
</TransformGroup>
</Ellipse.RenderTransform>
<Ellipse.Triggers>
<EventTrigger RoutedEvent="Page.Loaded">
<BeginStoryboard>
<Storyboard x:Name="s1" RepeatBehavior="Forever">
<MatrixAnimationUsingPath x:Name="ma1"
Storyboard.TargetName="m1"
Storyboard.TargetProperty="Matrix"
Duration="0:0:5"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Ellipse.Triggers>
</Ellipse>
这里我们用到Storyboard中的MatrixAnimationUsingPath,
通过使用 PathGeometry 生成动画值,从而对 Matrix 属性的值进行动画处理。此动画可用于沿着路径移动可视对象。
这里MatrixAnimationUsingPath绑定的目标是m1,绑定它的属性是Matrix,这里的m1是MatrixTransform,它是
创建一个任意仿射矩阵变换,用于操作二维平面中的对象或坐标系。
这里的<TranslateTransform X="-25" Y="-15"/> 是给圆调整它沿着椭圆路径旋转的平移度。
TranslateTransform:通过使此 Graphics 的变换矩阵左乘指定的平移来更改坐标系统的原点。
我们还要用个button来加载和启动这个路径
private void button1_Click(object sender, RoutedEventArgs e){PathGeometry pathGeometry=new PathGeometry();pathGeometry.AddGeometry(eg1);ma1.PathGeometry = pathGeometry;s1.Begin(e1);}
我们按F5调试下。
转载于:https://www.cnblogs.com/dingli/archive/2011/01/17/1937052.html
MSDN 教程短片 WPF 16(Path路径)相关推荐
- MSDN 教程短片 WPF 20(绑定3-ObjectDataProvider)
上次讲到数据模板的绑定(DataTemplate),今天在这基础上我进行了延伸.下面我们把数据绑定到ObjectDataProvider上. ObjectDataProvider:包装和创建可以用作绑 ...
- MSDN 教学短片 WPF 12(画布)
画布 Canvas画布 它的作用域是: 定义一个区域,在该区域中可以使用相对于 Canvas 区域的坐标显式定位子元素. Canvas 具有默认值为零的 Height 和 Width 属性,除非它是可 ...
- 沿着path路径做动画
沿着path路径做动画 路径 效果 源码 // // ViewController.m // PathAnimation // // Created by YouXianMing on 16/1/26 ...
- PS如何生成svg代码格式的path路径 - PS技巧篇
PS如何生成svg代码格式的path路径 - PS技巧篇 原文标题:PS中的svg工具是怎么使用的 点击查看:百度教程 技巧,切图出来的小图片,可以通过ps打开,右键生成SVG格式的代码. 以上就是关 ...
- Cinemachine教程 | Unity中如何制作路径动画?
摘要:在Unity中制作路径动画是有挺多方式的,基于Cinemachine的Dolly Path是一个简单便捷的方法,咱们来快速的学习一下吧! 洪流学堂,让你快人几步.你好,我是跟着大智(VX: zh ...
- 微信小程序使用百度api获取天气信息 —— 微信小程序教程系列(16)
之前已经介绍过,如何使用百度地图api来获取地理位置信息 微信小程序的百度地图获取地理位置 -- 微信小程序教程系列(15) 下面介绍使用百度api来获取天气信息. 1> 第一步:先到百度开放平 ...
- sudo找不到命令:修改sudo的PATH路径
sudo有时候会出现找不到命令,而明明PATH路径下包含该命令,让人疑惑.其实出现这种情况的原因,主要是因为当 sudo以管理权限执行命令的时候,linux将PATH环境变量进行了重置,当然这主要是因 ...
- 修改系统路径 linux,Linux修改sudo的PATH路径的解决方法
众所周知,Linux系统sudo命令可以搜索PATH下的命令,但是有时候明明PATH下有某些命令,为什么sudo就是搜索不到.这可能是因为Linux自动对PATH进行重置,改变了sudo命令搜索的路径 ...
- 系统模块——什么是系统模块、path 路径操作、相对路径VS绝对路径
系统模块 什么是系统模块 Node运行环境提供的API. 因为这些API都是以模块化的方式进行开发的, 所以我们又称Node运行环境提供的API为系统模块 系统模块fs 文件操作 系统模块path 路 ...
最新文章
- 5.1 实验五 四则运算单元测试
- 在tnsnames.ora中配置监听
- 自由存储区和堆的区别_区块链发展阶段:IPFS和Filecoin赋能分布式存储
- geotif 添加坐标_python – 如何获取geotif中单元格的坐标?
- 最优化学习笔记(十二)——基本共轭方向算法(续)
- ram自己写?用IP?
- ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建
- java密码查询回显和修改流程_[求助]数据库信息如何回显在我的程序界面中
- 没有Angular 3,下一个Angular主版本将是Angular 4
- 做跨境电商,先要有个靠谱的商城系统
- chrome插件-Web开发者助手 FeHelper
- 凯恩帝串口通信怎么设置_北京凯恩帝(KND)-100M数控系统操作经验与技巧
- 一支雪糕卖66?钟薛高,你就偷着乐吧
- “她经济”时代,兜售少女心的乙女游戏将成新风口?
- 什么是CSM(Certified Scrum Master) 敏捷教练认证?
- 阿里云域名购买和配置
- 在Excel Power Query中提取数据
- 多类别分类——吴恩达课程作业python代码实现
- DeFi+NFT出圈姿势盘点,NFT借贷等应用领域值得关注
- 毕业设计 基于深度学习的人脸性别年龄识别 - 图像识别 opencv