WPF 实现水纹效果

原文: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

时间: 2024-10-12 09:58:13

WPF 实现水纹效果的相关文章

wpf 模拟3D效果(和手机浏览图片效果相似)(附源码)

原文 wpf 模拟3D效果(和手机浏览图片效果相似)(附源码) pf的3D是一个很有意思的东西,类似于ps的效果,类似于电影动画的效果,因为动画的效果,(对于3D基础的摄像机,光源,之类不介绍,对于依赖属性也不介绍.),个人认为,依赖属性这个东西,有百分之五十是为了3D而存在.(自己写的类似于demo的东西)先上图,无图无真相这是demo的整个效果图,可以用鼠标移动,触摸屏也可以手指滑动,图片会移动,然后移动结束,会有一个回弹的判断. <Window x:Class="_3Dshow.Wi

WPF实现毛玻璃效果

1和2需要Microsoft.WindowsAPICodePack.Shell.dll 和引用using System.Windows.Interop,并只能在有DwmApi.dll 版本的Windows操作系统下使用.这两种方法的共同缺点是:在启动窗体时会一闪. 一. [StructLayout(LayoutKind.Sequential)] public struct MARGINS { public int cxLeftWidth; public int cxRightWidth; pub

WPF实现抽屉效果

原文:WPF实现抽屉效果 界面代码(xaml): <Window x:Class="TransAnimation.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Hei

css3 水纹效果(仿写阿里云)

效果图 什么也不说了,上代码. <!DOCTYPE html> <html> <head> <title>css3 水纹效果</title> <style type="text/css"> .point_area { text-align: center; position: relative; width: 150px; height: 150px; transition: opacity .5s ease-ou

WPF元素可视化效果

在WPF中设置元素的可视化效果主要用到BlurEffect类和DropShadowEffect类.(目前只学到这两个,哈哈) 1.BlurEffect类 命名空间: System.Windows.Media.Effects. BlurEffect 使目标纹理模糊的位图效果. 程序集:PresentationCore(在 PresentationCore.dll 中) 用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/2006/xaml/pres

WPF实现选项卡效果(2)——动态添加AvalonDock选项卡

简介 在前面一篇文章里面,我们使用AvalonDock实现了类似于VS的选项卡(或者浏览器的选项卡)效果.但是我们是通过xaml代码实现. 现在我们尝试通过C#代码实现选项卡的动态添加. 修改Xaml代码 在前面一篇文章的Xaml代码里面,添加如下代码: <Grid.RowDefinitions> <RowDefinition Height="25"></RowDefinition> <RowDefinition></RowDefi

WPF实现选项卡效果(1)——使用AvalonDock

简介 公司最近一个项目,软件采用WPF开发,需要实现类似于VS的选项卡(或者是浏览器的选项卡)效果.搜寻诸多资料后,发现很多同仁推荐AvalonDock这款开源控件.在其官方地址下载源码和Demo后,对其进行了初步的研究,初步实现了预期效果. AvalonDocking的结构树 在下载的Demo中,我们可以发现AvalonDock的可视化结构树如下: <avalon:DockingManager x:Name="dockingManager"> <avalon:Lay

# WPF动画速率效果

在WPF中使用动画的情况非常多,而要让动画变得生动往往要使用一些变速动画,WPF也内置了很方便的缓动函数来实现这一功能. 除此之外,WPF还有关键帧动画,利用关键帧动画能够很好的控制动画的细节,与美工的很多设计保持完美一致.关键帧动画中还有一套叫做样条关键帧动画(SplineKeyFrame),这个动画利用一个三次贝塞尔曲线能够更准确的控制动画的速率. 不同的缓动函数光看名字很难知道实际效果,样条关键帧动画的贝塞尔曲线控制也很难直观的看到效果,于是写了个小工具来展现不同的动画速率的效果以及修改配

WPF InkCanvas 毛笔效果

首先贴出本文参考学习的文章吧. https://www.cnblogs.com/LCHL/p/9055642.html#4206298 感谢这位懒羊羊的代码和讲解(下简称羊博主),我在此基础上稍微加了一些东西,希望能使书写效果得到更好的提升吧.建议先从羊博主的博文看起. 前文 本文致力于解决羊博主的2-3问题,即代码粗细度的优化. 本文本着分享知识的目的写出,希望能对一些寻找类似知识的人一些帮助.笔者为WPF初学者,能得到各位的批评指正也是荣幸万分. 因工作公司的原因,无法贴出全部代码,我尽量在