当前位置: 首页 > news >正文

C# Avalonia 16- Animation- AnimateRadialGradient

用我们自己写的Player C# Avalonia 15- Animation- AnimationPlayerTest

AnimateRadialGradient.axaml代码

<Window xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"Height="328" Width="302.4"x:Class="AvaloniaUI.AnimateRadialGradient"xmlns:local="using:AvaloniaUI"x:DataType="local:AnimateRadialGradient"Title="AnimateRadialGradient"><Window.Resources><SolidColorBrush x:Key="AnimatedColorBrush" Color="Blue"/><RadialGradientBrush x:Key="AnimatedBrush"RadiusX="100%"RadiusY="100%"GradientOrigin="50%,50%"><GradientStop Color="White" Offset="0"/><GradientStop Offset="1"><GradientStop.Color><Binding Path="Color" Source="{StaticResource AnimatedColorBrush}"/></GradientStop.Color></GradientStop></RadialGradientBrush></Window.Resources><Grid><Ellipse Fill="{StaticResource AnimatedBrush}"Margin="10"Stretch="Uniform" /></Grid>
</Window>

AnimateRadialGradient.axaml.cs代码

using Avalonia;
using Avalonia.Controls;
using Avalonia.Media;
using Shares.Avalonia;
using System;namespace AvaloniaUI;public partial class AnimateRadialGradient : Window
{private readonly AnimationPlayer animationPlayer = new AnimationPlayer();private readonly RadialGradientBrush radialBrush;private readonly SolidColorBrush solidBrush;public AnimateRadialGradient(){InitializeComponent();radialBrush = (RadialGradientBrush)Resources["AnimatedBrush"]!;solidBrush = (SolidColorBrush)Resources["AnimatedColorBrush"]!;animationPlayer.Duration = 5;animationPlayer.Loop = true;//动态修改径向渐变 GradientOriginanimationPlayer.At(0).PlayLocal(progress =>{// 在中心点绕圈double x = 0.5 + Math.Cos(progress * Math.PI * 2) * 0.3;double y = 0.5 + Math.Sin(progress * Math.PI * 2) * 0.3;radialBrush.GradientOrigin = new RelativePoint(x, y, RelativeUnit.Relative);});//动态修改纯色 SolidColorBrush 颜色animationPlayer.At(0).PlayLocal(progress =>{// 在蓝色与粉色之间渐变var startColor = Color.Parse("#FF1E90FF");var endColor = Color.Parse("#FFFF1493");byte r = (byte)(startColor.R + (endColor.R - startColor.R) * progress);byte g = (byte)(startColor.G + (endColor.G - startColor.G) * progress);byte b = (byte)(startColor.B + (endColor.B - startColor.B) * progress);solidBrush.Color = new Color(255, r, g, b);});animationPlayer.Start();}   
}

运行效果

image

 

http://www.hskmm.com/?act=detail&tid=30799

相关文章:

  • ControlNet——AI图像生成的“精准操控工具”
  • 2025 年国内模切加工源头厂家最新推荐排行榜:聚焦 0.1mm 精度与高产能标杆,为下游企业精选优质合作商电子辅料/硅胶/薄膜/胶黏/绝缘模切加工厂家推荐
  • 2025 武汉实缴服务机构最新推荐排行榜:知识产权 / 注册资本代办优选清单,深度解析专业服务品质
  • 华为开发者空间携手乐知行:轻松实现智能网联小车数据可视化系
  • card滑动效果
  • 学习日报
  • 2025年成都一对一培训机构优选榜:成都一对一辅导/补习/培训/补习班/辅导机构推荐,成都美博教育脱颖而出
  • 打印机共享修复,打印机无法共享,打印机修复工具下载及安装教程
  • web中静态资源加载失败的降级处理
  • 2025年保温隔热挤塑泡沫板推荐哪个厂家好?xps挤塑板/石墨聚苯板公司推荐
  • 实用指南:消息队列 MQ
  • 基于 Docker 部署 Alpine Linux:从入门到实践
  • 行列式按一行或列展开
  • 2025 年最新推荐高性价比实木家具厂家排行榜:涵盖实木床餐边柜/餐桌斗柜/书柜/梳妆台/床头柜/餐椅沙发/休闲椅优质厂家精选
  • 多智能体微服务实战(3/4):Aspire 打造本地 K8s 开发环境
  • 2025 年水下打捞公司服务推荐榜:水下打捞手机/水下打捞黄金/水下打捞戒指/水下打捞沉船/水下打捞转头,聚焦专业与高效,助力解决各类水下应急需求
  • SAP 中物料视图必填字段(用下程序定期校验)
  • 一文读懂Optimism,Arbitrum,ZK Rollups 共识算法
  • 【光照】UnityURP渲染中的HDR
  • 在jupyter notebook中使用自己创建的conda虚拟环境的Python内核
  • Flutter顶部状态栏显示,安全区设置等,防止各种异性屏挡住应用操作栏
  • LGP11189 [KDOI R10] 水杯降温 学习笔记
  • notepad++中使用正则表达式过滤数据
  • 从孔子到马斯克:理解原理与问对问题的智慧史
  • startPage()分页总数问题
  • 2025 年电感源头厂家最新推荐排行榜:聚焦功率一体成型屏蔽共模等系列,助力企业精准选优质制造商屏蔽/共模/贴片共模/磁环/磁胶SWPA电感厂家推荐
  • 2025 年风机厂家最新推荐排行榜:聚焦交流 / 直流 / 无刷 / 大吸力 / 调速 / 小型高压等多类型风机,精选优质企业助力采购决策
  • 简单高效的SQL注入测试方法:Break Repair技术详解
  • AG Grid推出全新MCP服务器——让AI更智能地理解你的数据表格!
  • 2025 年自动供料系统厂家推荐榜:集中/挤出机/高速混合机/混料机/搅拌机/粉体颗粒/反应釜/SPC自动供料系统厂家,聚焦高效环保,张家港华耐德环保科技引领行业