博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF 实现水纹效果
阅读量:6700 次
发布时间:2019-06-25

本文共 1003 字,大约阅读时间需要 3 分钟。

原文:

鼠标滑过产生水纹,效果图如下:

 

 

XMAL就放置了一个img标签

 

后台主要代码

窗体加载:

private void Window_Loaded(object sender, RoutedEventArgs e) { Bitmap bmp = Properties.Resources.water; ww = new WaterWave(bmp); //设置显示大小和图片一样 this.gInfo.Width = bmp.Width; this.gInfo.Height = bmp.Height; this.imgShow.Source = ToConvertToImageSource(bmp); ToBindTimerEvent(); }

 

计时器:

public void ToBindTimerEvent() { //创建timer 计时器 DispatcherTimer timer = new DispatcherTimer { Interval = new TimeSpan(0, 0, 0, 0, 100) }; timer.Tick += new EventHandler(timer_Tick); timer.Start(); } public void timer_Tick(object sender, EventArgs e) { Bitmap b = ww.GetFrame(); this.imgShow.Source = ToConvertToImageSource(b); }

 

鼠标移动事件:

 

private void Image_MouseMove(object sender, MouseEventArgs e) { //获取表示二维空间内的 X 和 Y 坐标对,X、Y 为 double 类型 System.Windows.Point position = e.GetPosition(this); //转换为System.Drawing.Point形式 System.Drawing.Point dPoint = new System.Drawing.Point(); dPoint.X = (int)position.X; dPoint.Y = (int)position.Y; ww.DropStone(dPoint); }

 

水纹的算法参考

 

代码实例:

 

转载地址:http://uhgoo.baihongyu.com/

你可能感兴趣的文章
【PMP】PMBOK 笔记 第2章 组织影响和项目生命周期
查看>>
安卓修改上层UI界面默认显示为竖屏显示(基于tiny4412开发板)
查看>>
一个著名的日志系统是怎么设计出来的?
查看>>
【干货】史蕾:大数据征信时代的个人信息保护
查看>>
[MethodImpl(MethodImplOptions.Synchronized)]、lock(this)与lock(typeof(...))
查看>>
中国人工智能学会通讯——仿脑GPS基于神经科学的器人定位与导航
查看>>
物联网创新 要具备五种思维
查看>>
《企业首席信息官制度建设指南》宣贯千里行将在京举行
查看>>
Ubuntu Linux继续统领云操作系统江湖
查看>>
台湾云端运算产业协会副理事长刘瑞隆:智能制造的发展离不开云计算人才
查看>>
BI的体系架构及相关技术
查看>>
微金时代:小额贷款公司如何做好“小额贷款贷前风险管控”
查看>>
大数据将在今后改变智能手机的应用方式
查看>>
SDN,这一年都经历了什么?
查看>>
财富杂志公布最佳雇主排名 NetApp高居榜首
查看>>
2017云栖大会开源峰会预告
查看>>
CEA开源性能测试工具N2D2 人工智能芯片竞赛开始了
查看>>
红帽公司即将进军OpenStack网络融合工作
查看>>
警告:非智能手机可入侵核电站的物理隔绝设备
查看>>
CTO下午茶:化繁为简,面面俱到
查看>>