Silverlight - 动画贝塞尔曲线画线?

2024-05-05

我正在构建一个小型 Silverlight 应用程序。在我的应用程序中,我需要绘制线条,类似于附图中所示的内容。

我知道绘制拱形连接线(绿色)的最佳方法是使用贝塞尔曲线。

我的问题是,如何对线条的绘制进行动画处理(让它们从起始 (X,Y) 坐标开始到目标坐标)?

附图:


我花了一些时间研究这个,这是可能的。诀窍是你不要为路径设置动画。相反,您最初将路径剪切到零维度的边界区域,然后实质上对剪切区域的高度和宽度进行动画处理。最终效果看起来像是从 A 点到 B 点的路径被动画化。

看一下下面的 XAML 示例:

<Canvas x:Name="LayoutRoot" Background="White">
        <Path Stroke="Blue" StrokeThickness="2" StrokeDashArray="10,2" >
            <Path.Data>
                <PathGeometry>
                    <PathGeometry.Figures>
                        <PathFigureCollection>
                            <PathFigure StartPoint="50,50">
                                <PathFigure.Segments>
                                    <PathSegmentCollection>
                                       <BezierSegment
                                           Point1="50,20"
                                           Point2="120,170"
                                           Point3="350,150"
                                       /> 
                                    </PathSegmentCollection>
                                </PathFigure.Segments>
                            </PathFigure>
                        </PathFigureCollection>
                    </PathGeometry.Figures>
                </PathGeometry>
            </Path.Data>
            <Path.Clip>
                <PathGeometry>
                    <PathFigure IsClosed="true">
                        <LineSegment x:Name="seg1" Point="50,50"/>
                        <LineSegment x:Name="seg2" Point="0,0"/>
                        <LineSegment x:Name="seg3" Point="0,0"/>
                        <LineSegment x:Name="seg4" Point="0,0"/>
                    </PathFigure>
                </PathGeometry>
            </Path.Clip>
            <Path.Triggers>
                <EventTrigger RoutedEvent="Path.Loaded">
                    <BeginStoryboard>
                        <Storyboard>
                            <PointAnimation Storyboard.TargetName="seg2" Storyboard.TargetProperty="point" To="350,50" Duration="0:0:2" />
                            <PointAnimation Storyboard.TargetName="seg3" Storyboard.TargetProperty="point" To="350,150" Duration="0:0:2" />
                            <PointAnimation Storyboard.TargetName="seg4" Storyboard.TargetProperty="point" To="50,1500" Duration="0:0:2" />

                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Path.Triggers>
        </Path>
        <Path Fill="Gold" Stroke="Black" StrokeThickness="1">
            <Path.Data>
                <EllipseGeometry Center="50,50" RadiusX="20" RadiusY="20" />
            </Path.Data>
        </Path>
        <Path Fill="Gold" Stroke="Black" StrokeThickness="1">
            <Path.Data>
                <EllipseGeometry Center="350,150" RadiusX="20" RadiusY="20" />
            </Path.Data>
        </Path>
    </Canvas>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverlight - 动画贝塞尔曲线画线? 的相关文章

  • Windows Phone 8.1 应用程序多语言

    我正在使用 Visual Studio 2015 在 SilverLight 中创建 Windows Phone 应用程序 8 1 我正在用英语和阿拉伯语创建多语言应用程序 为此 我在项目中创建了 Strings 文件夹 其中包含 en U
  • 三次贝塞尔曲线逆 GetPoint 方程:float for Vector <=> Vector for float

    给定结果值和四个点是否可以取回 float t 如果是这样 怎么办 public static Vector3 GetPoint Vector3 p0 Vector3 p1 Vector3 p2 Vector3 p3 float t t M
  • 从 JavaScript 字符串保存文件而不访问服务器

    如果我在 JavaScript 中有一个内存字符串 例如 Excel 或 PDF 格式 并且我想弹出一个保存对话框以便用户可以将这些字节保存到文件中 我将如何执行此操作 我试图避免回到服务器 如果我要返回服务器 我可以在响应中发送正确的 H
  • 无法在 Silverlight 样式中添加系统颜色?

    我在 XAML 中为 SystemColors 定义了资源 如果我将 Foregroung 属性直接设置为 TextBlock 效果会很好 但是 如果我在样式中分配前景属性 则会收到如下所示的错误 我不确定问题是什么以及如何解决 任何想法都
  • 以编程方式清除 Silverlight 应用程序存储?

    我为一些客户发布了 Silverlight 应用程序 我在发布更新时遇到问题 我希望当用户最初加载网页时 如果他们的应用程序存储比上次更新网站时旧 那么this http www softcity com article internet
  • 无效的跨线程访问问题

    我有两个 ViewModel 类 PersonViewModel 和 PersonSearchListViewModel PersonViewModel 实现的字段之一是通过 WCF 下载的个人资料图像 本地缓存在独立存储中 PersonS
  • NV_path_rendering替代方案[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我刚刚观看了 Siggraph 2012 的一个非常令人印象深刻的演示 http nvidia fullviewmedia com sig
  • 以编程方式显示 UIView

    我试图 通过动画 显示 UIView 具体来说 我想显示视图的中心部分 然后慢慢地显示它的外边缘 有点像拉开窗帘 我的第一次尝试是简单地将边界矩形设置得更小 并将其动画化为视图框架的完整大小 但这没有达到预期的效果 因为通过更改边界 我也更
  • 如何随着 ViewPager 位置偏移量的变化对视图进行动画处理

    我们希望创建一个带有动画的应用程序介绍 用户可以在其中滚动页面 并且当用户滚动时 视图会动画化并遍历所有幻灯片 动画视图应该随着用户滚动而移动 因此如果用户滚动得更快 动画视图应该移动得更快 如果用户滚动回到上一页 动画视图应该向后移动 这
  • 弹簧质量系统的阻尼效果(或者这是 ElasticEase?)

    我试图在代码中模拟动画效果 几乎任何语言都可以 因为它看起来是数学而不是语言 本质上 它是质量弹簧系统的仿真 我一直在研究 WPF Silverlight 的ElasticEase这似乎与我正在寻找的非常接近 但又不完全一样 首先 这就是我
  • Jquery Smoothscroll 函数 - 如何控制动画速度?

    有人可以帮助我吗 尝试通过我的平滑滚动和控制速度添加 慢 功能 希望能够实现真正的 平滑滚动 以下是代码 document ready function smoothscroll live click function e html bod
  • css动画移动元素位置

    我的 CSS 动画有这个问题 我有一个元素位置绝对居中于页面中间 当我放置动画时 它会向右移动 当动画完成时 它会移回到页面中间 这是代码 keyframes motto from opacity 0 transform translate
  • 背景颜色变化

    SolidColorBrush bgColor public ModernBTN InitializeComponent this Loaded delegate object sender RoutedEventArgs e bgColo
  • 在 D3 中在外部加载的 svg 图形上绘图

    我已经从 svg 文件加载了外部图形 我想尝试在其上绘图 但不知道如何操作 我的简单 d3 代码在这里
  • 强制绑定更新 Silverlight

    如何强制更新我的对象 DataContext 绑定 我正在网格上使用事件 并且在事件触发之前不会处理绑定更新 有什么廉价的技巧可以解决这个问题吗 最后 我总是可以用旧的手动方式从文本框中获取值并更新我的对象 但最好让绑定为我做这件事 UPD
  • 如何在打开导航抽屉时使背景 Activity 变小?

    我想做我的背景Activity打开时稍微小一点Navigation Drawer 模拟存在的效果Airbnb应用 我想最好的解释是截图 但重点不是让 View 变小 而是让它成为与 Drawer 打开 关闭动画同步的动画 因此 如果您开始打
  • iOS - 当 UIView 移动时将 UITextField 移动到不同的位置

    我有一个主 UIView 它通过开关向上移动 我有这个工作 那里没有问题 现在 UIView 当向下时 占据屏幕的大约一半 当它向上推时 它会显示底部 40px 在 UIView 中 当它处于向下状态时 它有一个 UITextField 并
  • ReactiveUI 和 Caliburn Micro 一起?

    我一直在使用 Caliburn Micro 作为我们的 MVVM 框架对新的 Silverlight 应用程序进行一些原型工作 团队总体上对此感到满意 为了解决对服务的请求限制的一些问题 有人建议我研究 ReactiveUI 的 React
  • 如何在 Silverlight 中使用 LINQ 创建 ObservableCollection

    在非 Silverlight 世界中 使用 LINQ 创建 ObservableCollection 很容易 这是因为 ObservableCollection 类具有接受任何 IEnumerable 或 List 的构造函数 然而Silv
  • 如何使用 NavigationService.Navigate 传递查询字符串变量?

    问候 搜索了这个 但没有运气 我正在尝试在我的 Silverlight 4 应用程序中传递查询字符串变量 然后检索它们 首先我尝试了这个 this NavigationService Navigate new Uri LoanProduct

随机推荐

  • 为什么我们应该在 jQuery 中使用匿名函数而不是直接使用函数?

    一些 jQuery 方法需要一个函数作为参数 但为了工作 它们应该接收一个匿名函数作为参数 而不是直接接收函数 如下例所示 a on click function retornaNada 而不是 a on click retornaNada
  • 如何使用方法更改类属性?

    我有一个 Django 模型类 它有一些默认属性 我想更改complete通过调用函数来改变变量 class Foo complete False def set complete true complete True 但打电话后set c
  • C++ 使用命名空间来避免长路径

    我仍在学习 C 之前从未真正创建过自己的命名空间 我正在对它们进行试验 虽然我已经完成了大部分工作 但有一件事我似乎仍然无法做到 我希望能够在类中调用静态方法 而无需输入类似的内容NameOfClass method 我认为代码应该如下所示
  • 如何在控制台应用程序中创建可终止的 while 循环?

    我目前正在寻找此 c 控制台应用程序功能的解决方案 我尝试寻找一种创建 while 循环的方法 该循环可以终止下面的代码 但我只得出与中断 while 循环相关的结果或不将其放入 while 循环的解决方案 int P1Choice int
  • Reactjs 中的扩展语法“...this.props”感觉很奇怪

    使用扩展运算符与诸如此类的对象发生反应propsJSX 中似乎没有输出我所期望的内容
  • 云代码:从 URL 创建 Parse.File

    我正在开发一个云代码函数 它使用 facebook graph API 来检索用户的个人资料图片 因此 我可以访问正确的图片 URL 但无法从该 URL 创建 Parse File 这几乎就是我正在尝试的 Parse Cloud httpR
  • 检查一个数据框中的单词是否出现在另一个数据框中(python 3,pandas)

    问题 我有两个数据框 想要删除它们之间的任何重复项 部分重复项 DF1 DF2 Phrases Phrases Little Red Little Red Corvette Grow Your Grow Your Beans James B
  • vm.dirty_ratio 和 vm.dirty_background_ratio 之间的区别?

    我目前正在试验中找到的内核参数 proc sys vm 尤其dirty ratio and dirty background ratio 内核文档对两者都有以下解释 脏背景比例 包含 以包含空闲页面的总可用内存的百分比表示 和可回收页 后台
  • GCC 4.7 字符串文字的源字符编码和执行字符编码?

    Linux x86 64 上的 GCC 4 7 是否具有默认字符编码 用于验证和解码 C 源文件中字符串文字的内容 这是可配置的吗 此外 当将字符串数据从字符串文字链接到输出的数据部分时 它是否具有默认的执行字符编码 这是可配置的吗 在任何
  • Excel VBA 将工作表保存到具有唯一名称的多个文件夹

    感谢您的所有意见 下面的代码是收到的输入的最终结果 我已经对这些错误进行了评论 这些错误直接关系到保存到数组中定义的文件夹中的总体预期结果 Option Explicit Public EngName As String TeamNum A
  • kubernetes nginx ingress 无法将 HTTP 重定向到 HTTPS

    我有一个托管在 Google Cloud 平台中的网络应用程序 该应用程序位于负载均衡器后面 而负载均衡器本身位于入口后面 入口设置了 SSL 证书 并按预期接受 HTTPS 连接 但有一个问题 我无法让它将非 HTTPS 连接重定向到 H
  • 如何在 Android 中使用 KSoap 2

    我刚刚发现 ksoap2 在 Android 应用程序中使用我自己的 asp net Web 服务 我在互联网上发现了一些很棒的资源 并且我已经在 Android 应用程序中实现了我的网络服务 以下是我使用的网络服务的响应 HTTP 1 1
  • 如何在 R 中将 dd/mm/yy 转换为 yyyy-mm-dd

    我有一个向量 其日期值采用这种格式 dd mm yy 例如 27 06 16 我想将其转换为 yyyy mm dd 格式 例如 2016 06 27 以进行逻辑比较 我正在使用这个表达 as Date as character 27 06
  • 类运算符

    我在编写代码时遇到问题 void main Matrix c rows cols rows cols are int numbers c 0 0 2 the line that I m having a problem to do the
  • 有没有办法让 LaTeX 将图形放置在同一页面中作为对该图形的引用?

    我正在使用 LaTeX 和图形环境 我非常熟悉该环境的参数 htbp 而且我通常也熟悉 LaTeX 默认情况下决定将每个图形放在哪里的策略 例如 将图形放置在页面的顶部或底部 我想知道是否有一个包 宏或一些我可以提供的命令 这样如果我有一个
  • 替换javascript中的换行符

    我正在尝试替换实例 r or n我的 json 对象中的字符 br 用于在网站上显示 I tried myString myString replace r n br 但这似乎并没有什么作用 当我用其他东西替换正则表达式时 例如 a 例如
  • R:用不同的颜色将一个 ECDF 绘制在另一个 ECDF 之上

    我有几个累积经验密度函数 我想将它们绘制在彼此之上 以说明两条曲线的差异 正如所指出的在上一个问题中 https i stack imgur com V7fIq png 绘制 ECDF 的函数很简单plot Ecdf 当我阅读精美的手册页时
  • 是否有不是完整网站的卡片/目录应用程序?

    我遇到的每个解决方案似乎都是一个完整的商店 有太多的选项和太多的功能 我可以编写自己的购物车来从前端获得我需要的最小功能 我只是想减少编写复杂后端的时间 我真正想要的是提供产品目录 订单管理等后端功能 同时提供流畅一致的 API 来访问完全
  • Winforms Chart - 在折线图上绘制允许的区域

    如何在图表上绘制灰色区域 信号的允许范围 我使用 Winforms 和标准 MicrosoftSystem Windows Forms DataVisualization类 它应该是自定义范围 这意味着起始 Y 点不能仅为零 我在运行时在线
  • Silverlight - 动画贝塞尔曲线画线?

    我正在构建一个小型 Silverlight 应用程序 在我的应用程序中 我需要绘制线条 类似于附图中所示的内容 我知道绘制拱形连接线 绿色 的最佳方法是使用贝塞尔曲线 我的问题是 如何对线条的绘制进行动画处理 让它们从起始 X Y 坐标开始