WPF 实现雪花效果
2024-10-21 02:43:17
雪花控件类:
class MM:Control
{
DispatcherTimer dispatcherTimer = new DispatcherTimer();
public MM()
{
dispatcherTimer.Interval = TimeSpan.FromMilliseconds(100); ;
dispatcherTimer.Tick += DispatcherTimer_Tick;
dispatcherTimer.Start();
} private void DispatcherTimer_Tick(object sender, EventArgs e)
{
this.InvalidateVisual();
} protected override void OnRender(DrawingContext drawingContext)
{
var currentcolor = Colors.White;
Brush brush = new RadialGradientBrush(currentcolor,
Color.FromArgb(0, currentcolor.R, currentcolor.G, currentcolor.B));
Random r = new Random(); for (int i = 0; i < 530; i++)
{
var w = 35 * r.NextDouble();
var rect =
new RectangleGeometry(
new Rect(new Point(r.Next(10,(int)this.Width), r.Next(10, (int)this.Height)),
new Size(w, w)));
drawingContext.DrawGeometry(brush, null, rect);
} }
}
前台代码:
<Window x:Class="WpfAppTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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"
xmlns:local="clr-namespace:WpfAppTest"
mc:Ignorable="d" WindowStyle="None" AllowsTransparency="True" Top="100" Left="100"
Title="MainWindow" Height="450" Width="800">
<Window.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#05438C" Offset="0"/>
<GradientStop Color="White" Offset="0.9"/>
<GradientStop Color="White" Offset="1"/>
</LinearGradientBrush>
</Window.Background>
<local:MM x:Name="cc" HorizontalAlignment="Left" Height="417.114" VerticalAlignment="Top" Width="791.112" RenderTransformOrigin="0.5,0.5" Margin="0,0.007,0,0">
<local:MM.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="0.387"/>
<TranslateTransform/>
</TransformGroup>
</local:MM.RenderTransform>
</local:MM>
</Window>
实现效果:
最新文章
- LINQ 联表查询 取count 值
- java中IO流相关知识点
- php 判断是手机版还是电脑端
- Codeforces Round #339 Div.2 C - Peter and Snow Blower
- Android findBugs
- windows创建虚拟界面
- IOS 7 Study - Manipulating a Navigation Controller’s Array of View
- 转】Maven学习总结(八)——使用Maven构建多模块项目
- img与父元素的间隙解决
- windows phone因为墓碑化导致“正在恢复”的分析
- cf472A Design Tutorial: Learn from Math
- WordPress SEO ☞ WordPress网站终极优化指南
- Netty IO线程模型学习总结
- Java 读书笔记 (十六) Java 继承
- LeetCode算法题-Nth Digit(Java实现)
- 16、计算1加到100用两个定义值count=1、sum=0
- 团队作业记账本开发NABCD
- pgm13
- 20165326 java实验一
- 第三天:JavaScript的DOM对象和DOM操作HTML