当前位置: 首页 > 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.zskr.cn/news/20756.html

相关文章:

  • 华为开发者空间携手乐知行:轻松实现智能网联小车数据可视化系
  • card滑动效果
  • 2025年成都一对一培训机构优选榜:成都一对一辅导/补习/培训/补习班/辅导机构推荐,成都美博教育脱颖而出
  • 打印机共享修复,打印机无法共享,打印机修复工具下载及安装教程
  • web中静态资源加载失败的降级处理
  • 2025年保温隔热挤塑泡沫板推荐哪个厂家好?xps挤塑板/石墨聚苯板公司推荐
  • 2025 年液位计厂家最新推荐排行榜:投入式 / 磁致伸缩 / 防爆 / 防水 / 浮球液位计优质企业全面解析
  • 智表 ZCELL 公式引擎,帮你解锁自定义函数与跨表计算的强大能力
  • SAP 中物料视图必填字段(用下程序定期校验)
  • LGP11189 [KDOI R10] 水杯降温 学习笔记
  • electron+vue——区分窗口普通关闭和强制退出 - 前端
  • startPage()分页总数问题
  • 蒙古文识别技术:采用深度学习模型(CNN+RNN)处理蒙古文竖写特性,实现高精度识别 - 指南
  • 别再怪AI答非所问了!5分钟掌握Prompt,让你的AI从“人工智障”秒变“人工智能”
  • 2025 年自动供料系统厂家推荐榜:集中/挤出机/高速混合机/混料机/搅拌机/粉体颗粒/反应釜/SPC自动供料系统厂家,聚焦高效环保,张家港华耐德环保科技引领行业
  • 盘点2025年试验箱十大品牌top,涵盖高低温湿热/小型/步入式/品质好有保障!
  • 智慧钢厂高炉冶炼仿真分析 | 图扑数字孪生
  • Hadoop RPC深度解析:分布式通信的核心机制 - 教程
  • electron——屏蔽顶部标题栏最大化按钮 - 前端
  • 2025 运动鞋品牌推荐:从专业竞速到大众适配的全场景选择
  • 替代FTP文件传输工具有哪些?
  • 2025 年折弯机厂家最新推荐排行榜:涵盖数控 / 电液伺服 / 液压 / 小型等机型,助力企业精准选购优质设备
  • 数据安全交换系统是什么?有哪些核心价值?
  • 开源 C# 快速开发(八)通讯--Tcp服务器端 - 教程
  • 2025 年发电机组厂家最新推荐品牌排行榜:聚焦优质产品与服务,助力用户精准选购合适设备沃尔沃/移动拖车/静音柴油/集装箱发电机组厂家推荐
  • Gitee引领中国DevOps市场的黄金时代:本土化创新与生态构建
  • 2025 年防火涂料厂家最新推荐排行榜:膨胀型 / 非膨胀型 / 室内外 / 超薄型 / 厚型钢结构防火涂料优质企业精选
  • res-downloader v1.0.6 资源下载工具:多平台视频 / 音频一键获取(支持 WinMac 系统)
  • c# HttpClient在自己服务器上访问第三方接口时出现HandshakeFailure的解决方案
  • 2025.10.14——1绿