WPF 实现水纹效果
鼠标滑过产生水纹,效果图如下:
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://dev.gameres.com/Program/Visual/2D/2DWater.htm
http://topic.csdn.net/u/20100331/16/7b52e46e-d859-4af1-921d-10a9c2bd88ff.html
代码实例:
http://download.csdn.net/source/3117591
转载于:https://www.cnblogs.com/lonelyxmas/p/9704328.html
WPF 实现水纹效果相关推荐
- WPF实现物理效果 拉一个小球
原文:WPF实现物理效果 拉一个小球 一直以来都对物理效果有神秘感,完全不知道怎么实现的.直到看到了周银辉在老早前写的一篇博客:http://www.cnblogs.com/zhouyinhui/ar ...
- 提升刷屏速度,降低显示水纹效果的一点想法
一般再nordic上画图都是采用emwin库函数画图,但是这样都比较慢,因为库函数都是每次读取图片的一行数据写入屏中显示,画图过程中水纹比较明显,所以之前自己从flash中读取图片数据,不采用库函数, ...
- WPF实现聚光灯效果
WPF开发者QQ群: 340500857 | 微信群 -> 进入公众号主页 加入组织 欢迎转发.分享.点赞.在看,谢谢~. 前言 效果仿照 CSS聚光灯效果 https://www.jians ...
- WPF 实现火炬效果
WPF开发者QQ群: 340500857 | 微信群 -> 进入公众号主页 加入组织 欢迎转发.分享.点赞.在看,谢谢~. 01 - 效果预览 02 - 代码如下 一.FireControl. ...
- WPF 图片splashScreen效果
[原文:http://www.cnblogs.com/chenxizhang/] 大家是否还记得在Windows Forms程序中如何实现splashScreen吗?我们一般都会使用Microsoft ...
- WPF 按钮动画效果制作
概要:本文将通过WPF按钮与Flash按钮的制作流程的对比讲解如何用Xaml实现按钮动画,同时你也还能学习Expression Blend.本文假设你正在制作一套点饮料的系统,现在你要做的就是制作出一 ...
- Flash实例教程:AS3.0打造漂亮水纹效果_Flash_||太平洋电脑网
在这个Flash AS3.0实例教程中,我们将用到置换图滤镜(DisplacementMapFilter)和BitmapData类的的杂点功能(perlinNoise),这两个家伙常常给我们带一些令人 ...
- WPF水滴马赛克效果
什么是马赛克(Mask) 相信许多看电影的朋友都知道什么是马赛克,通俗的将就是视频或者图片上方有一层模糊的区域,以使这块区域不可见. 下面的文字摘自百度百科: 马赛克(Mosaic),建筑专业名词为锦 ...
- WPF 实现星空效果
本文经原作者授权以原创方式二次分享,欢迎转载.分享. 原文作者:普通的地球人 原文地址:https://www.cnblogs.com/tsliwei/p/6282183.html Github地址: ...
最新文章
- vue中父子组件通信的坑
- 电脑要什么配置好_学平面设计用什么电脑比较好?对配置要求高吗?
- [Java基础]Lambda表达式的省略模式
- Kanvas:从您的ANTLR语法生成一个简单的IDE
- 系统架构设计之-任务调度系统的设计
- 从源码分析快速实现对新开源软件的检测
- Android VideoView播放视频遇到的问题
- js设置html不可编辑状态,JS_设置弹出页面的地址栏不可编辑
- sql将null替换为0_Firefox浏览器将被认为包含歧视性的 Master字眼替换为 Primary
- ubuntu系统如何安装最新版R语言?
- 关于动态生成data组件
- Aligning Domain-Specific Distribution and Classifier for Cross-Domain Classification from Multiple
- iphone自动下载当天VOA
- python bmp转jpg
- pytorch官网不支持cuda10.2
- 解决每次弹出“是否允许XX录制/投射您的屏幕”(享做笔记、王者荣耀等)手把手教程
- Xposed插件开发
- win8.1服务器系统安装教程,win8.1安装iis图文教程
- 4.加载FeatureLayer
- 基于YOLOV3的通用物体检测项目实战---(5)利用DarkNet框架进行YOLOV3模型训练实操(笔记)
热门文章
- Mybatis映射文件SQL语句模糊查询,#和$的区别和注意事项
- c++语言编译环境,Windows安装C++开发环境-C++开发环境搭建-嗨客网
- 程序设计基础(c语言)复习大纲,《程序设计基础-C》复习大纲.doc
- Ubuntu下如何正确安装FFmpeg
- java 实例对象拷贝,实例详解java对象拷贝
- c#设计12星座速配软件_C#设计模式(12)——组合模式
- C++简介源码讲解精辟版,C++入门级C++学习,C++与C的区别值得知晓
- kdj超卖_KDJ指标超卖区域划分及交易含义
- oracle两个表合并 sql,如何创建从两个表(Oracle DBMS)生成“合并”数据集的Select SQL语句?...
- import _ssl # if we can‘t import it, let the error propagate