WPF之基于路径的动画
原文:WPF之基于路径的动画

  不是突然想到要做一个路径动画的,是今天谈业务需求的时候偶然谈到的,

  一艘船从一个国家到另外一个国家,沿着一条固定的路线前进,就是一个简单的动画效果,以前貌似在书上看到过,所以自己也来做一个。

  在网上搜资料发现都是给你看看代码,或者边写边看代码。

  认为还是要先研究一下这个东西要如何实现吧,参考资料是《WPF编程宝典》。

  其实中心思想还是很简单的,主要是设置对象的Storyboard中DoubleAnimationsUsingPath的PathGeometry属性。

  下面这个实例是去则WPF变成宝典之中,因为不太复杂,就随便看看吧~

  这个例子里面是对image这个对象进行操作,所谓动画就是去根据路径去改变image的位置,就是Canvas.Left和Canvas.Top,给PathGeometry绑定设定好的路径,然后指定Source是对应的XY轴。

  

<Window x:Class="Animation.PathBasedAnimation"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="PathBasedAnimation" Height="381.6" Width="521.6"><Window.Resources><PathGeometry x:Key="path"><PathFigure IsClosed="True"><ArcSegment Point="100,200" Size="15,10" SweepDirection="Clockwise"></ArcSegment><ArcSegment Point="400,50" Size="5,5" ></ArcSegment></PathFigure></PathGeometry></Window.Resources><Window.Triggers><EventTrigger RoutedEvent="Window.Loaded"><EventTrigger.Actions><BeginStoryboard><Storyboard><DoubleAnimationUsingPath Storyboard.TargetName="image"Storyboard.TargetProperty="(Canvas.Left)"PathGeometry="{StaticResource path}"Duration="0:0:5" RepeatBehavior="Forever" Source="X" /><DoubleAnimationUsingPath Storyboard.TargetName="image"Storyboard.TargetProperty="(Canvas.Top)"PathGeometry="{StaticResource path}"Duration="0:0:5" RepeatBehavior="Forever" Source="Y" /></Storyboard></BeginStoryboard></EventTrigger.Actions></EventTrigger></Window.Triggers><Canvas Margin="10"><Path Stroke="Red" StrokeThickness="1" Data="{StaticResource path}" Canvas.Top="10" Canvas.Left="10">      </Path><Image Name="image"><Image.Source><DrawingImage><DrawingImage.Drawing><GeometryDrawing Brush="LightSteelBlue"><GeometryDrawing.Geometry><GeometryGroup><EllipseGeometry Center="10,10" RadiusX="9" RadiusY="4" /><EllipseGeometry Center="10,10" RadiusX="4" RadiusY="9" /></GeometryGroup></GeometryDrawing.Geometry><GeometryDrawing.Pen><Pen Thickness="1" Brush="Black" /></GeometryDrawing.Pen></GeometryDrawing></DrawingImage.Drawing></DrawingImage></Image.Source></Image></Canvas>
</Window>

  完全不难,但是我自己还是没有记得,所以写了一篇短短的Blog.

posted on 2018-08-14 10:02 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/9472853.html

WPF之基于路径的动画相关推荐

  1. WPF学习(12)动画

    本篇来学习WPF的动画.什么是动画?动画就是一系列帧.在WPF中,动画就是在一段时间内修改依赖属性值的行为,它是基于时间线Timeline的.有人会说,要动画干嘛,华而不实,而且添加了额外的资源消耗而 ...

  2. 【WPF】基于WPF的上位机开发模板

    文章目录 一. 背景 二. 基于WPF的通用界面模板 三. WPF与python的协同开发 四. WPF模板代码路径 一. 背景 在嵌入式开发中,经常会写一些脚本来提高工作效率,在工作中发现,周围同事 ...

  3. 基于Canvas的动画基本原理与数理分析

    转载自https://www.jianshu.com/p/e70c9cfbdb38 什么是动画? 就像思考哲学问题无法回避思维和存在的关系一样,制作动画同样无法逃避的问题是动画的原理是什么?这里提一句 ...

  4. ACL 2018论文解读 | 基于路径的实体图关系抽取模型

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  5. 沿着path路径做动画

    沿着path路径做动画 路径 效果 源码 // // ViewController.m // PathAnimation // // Created by YouXianMing on 16/1/26 ...

  6. 纯CSS实现帅气的SVG路径描边动画效果

    一.应该人人皆会的基础技术 简而言之,就是让SVG的描边像是有人绘制一样的动画效果. 国外很多相关介绍的文章,来看看一些效果gif吧~ 纯CSS实现帅气的SVG路径描边动画效果 纯CSS实现帅气的SV ...

  7. UI设计师SVG动画进阶篇——路径变形动画(上篇)

    之前分享了一些自己平时整理的可以通用的SVG动画的教程基本都是最基础的变化,旋转也好,缩放也好,沿路径运动也好,只需要定义CSS3的一些动画属性值或者SVG的动画属性标签,当然,运用得当的话,依靠这些 ...

  8. SVG——入门,路径变形动画

    刚学了两天svg基础,随手记个笔记,通过改变svg锚点路径创作动画效果,今天的demo是一个播放和暂停的按钮 动画的原理,无论是帧动画,还是位移动画,无非就是将一个图形从a状态转变为b状态的一个过程 ...

  9. css图像描边,纯CSS实现帅气的SVG路径描边动画效果

    一.应该人人皆会的基础技术 简而言之,就是让SVG的描边像是有人绘制一样的动画效果. 国外很多相关介绍的文章,来看看一些效果gif吧~ 我至少看到了4篇外文对此技术介绍(参见文末参考文章),觉得挺有意 ...

  10. HTML5 2D游戏引擎研发系列 第四章 Canvas技术篇-画布技术-基于手动切片动画

    作者:HTML5游戏开发者社区-白泽 转载请注明出处:http://html5gamedev.or HTML5 2D游戏引擎研发系列 第四章 <Canvas技术篇-画布技术-基于手动切片动画&g ...

最新文章

  1. Linux学习之路-Linux-yum命令【8】---20171217
  2. istringstream字符串流,实现类似字符串截取的功能,字符串流中的put,str()将流转换成为字符串string
  3. C和指针之字符串编程练习11(统计一串字符包含the的个数)
  4. Java的注解机制——Spring自动装配的实现原理
  5. mysql 失效转移_MySQL基于MHA的FailOver过程
  6. tess4j 注意事项
  7. 如何在设计项目中使用冷调酷色
  8. windows常见快捷键
  9. Python之程序执行时间计算
  10. Inferring Generative Model Structure with Static Analysis-2017【论文理解】
  11. 修改Win7的默认文件夹排列方式
  12. 智能合约语言 Solidity 教程系列2 - 地址类型介绍
  13. matlab mri的k空间,【基础理论】磁共振成像中K空间概念及其应用
  14. 漫画阅读器:DreamView for Mac
  15. 阿里、美团、Oracle凭这套题不知道刷了多少人
  16. “.”和“->”的区别
  17. Tableau权限设置方法
  18. 域名中主机名是第几个_如何设置二级域名解析?有什么设置方法?
  19. Arduino最便宜的模拟量采集
  20. 关于动漫《昨日青空》的网页

热门文章

  1. 利用自定义事件实现不同窗体间的通讯 -- C#篇
  2. redission分布式锁测试代码
  3. [渝粤教育] 西南科技大学 作物生产新理论与新技术 在线考试复习资料
  4. 机器博弈 (四)博弈规则的设计
  5. 机器博弈 (一) 入门简介
  6. 矩阵分析 (七) 矩阵特征值的估计
  7. SharePoint Designer 2010中的外部内容类型-SQL Server
  8. PyCharm 配置 Git 教程
  9. UI_DEV_Environment 之 StoryBook
  10. Python语言认识和实用工具(1)