很久前在一款软件上看到水波纹的效果就深深喜欢上这中特效,但是一直没有找到源码。最近从网上找到一份C++的源码,利用休息时间分析一下翻译成C#版本。为了便于使用,特封装成控件。(.NET Framework2.0)
使用步骤:
1、打开VS,在“工具栏”的“常规”下“右击”--“选择项”--“浏览”选中WaterWave.dll文件,把水波纹控件添加到工具箱中。
2、把控件添加到窗体中,设置Image属性。
3、在窗体的Load()事件中加入如下代码:
waterWave1.load();
4、运行,鼠标移动到图片上看看。
该控件有3个自定义属性
Image:显示水波纹的图片,
Auto:是否自动产生水波纹,默认为False。
Number:源点数,也就是从哪几个点产生水波纹。不要设置太大。50和1000效果差不多。
注意:当Auto为False时,鼠标移动到图片时从鼠标位置产生水波纹,此时Number属性不起作用
当Auto为True时,自动产生水波纹,此时Number属性才会起作用。
图片不要太大,否则效果不明显。
某些图片可能不支持,换种图片或者换种格式试试。
程序有不完美的地方还请谅解。
该特效局占内存。^_^
coolszy
2010年9月20

演示代码:
//如果想自动产生水波纹需如下设置
//waterWave1.Auto = true;
//waterWave1.Number= 50;
waterWave1.load();
//调用玩load()方法后才能修改Height和Width
//waterWave1控件的Height和Width等于图片的Height和Width
waterWave1.Top = 0;
waterWave1.Left = 0;
this.Height = waterWave1.Height;
this.Width = waterWave1.Width;

- 大小: 154 KB
分享到:
相关推荐
总的来说,实现C#水波纹特效是一项结合了艺术和技术的工作,需要开发者具备良好的编程基础、图形处理知识以及创新思维。通过研究和实践,你可以创造出更加生动、引人入胜的用户界面,提升应用的用户体验。
C# .NET 水波纹(Waterwave)效果插件是一种用于图形用户界面(GUI)的视觉特效,它可以为应用程序增添动态、流动的水面波动感。这种效果通常用于增加界面的吸引力和交互性,特别是在游戏开发或者某些艺术设计相关的...
在C#中实现水纹特效,我们需要创建一个自定义的控件或者图形类,利用GDI+的绘图方法。首先,我们需要初始化一个画布,然后在画布上绘制初始的水纹图案。这通常通过绘制一系列同心圆或椭圆来模拟水波的形状。接着,...
在Unity引擎中实现水波效果是一项常见的视觉特效技术,它能为游戏或应用程序带来更为真实和生动的场景体验。以下是一些关于如何在Unity中创建水波效果的关键知识点: 1. **Shader编程**:Unity中的水波效果通常依赖...
此外,窗体的其他特效可能包括:边框样式改变(如无边框窗体、自定义边框)、鼠标悬停效果、窗口阴影、水波纹效果等。这些可以通过重写窗体的`CreateParams`属性,或者使用Windows API调用来实现。例如,`this....
在WinForm中实现特效,通常需要借助于.NET Framework提供的API、自定义控件以及第三方库。以下是一些常见的WinForm窗体特效及其实现方式: 1. **淡入淡出效果**:通过调整窗体的透明度来实现。可以使用`Opacity`...
这需要自定义控件,将每个小块作为一个单独的Image,并使用Timeline动画控制替换顺序。 4. 移门:此效果模拟了门的开启和关闭,图像在门缝中滑动。可使用Transforms(如TranslateTransform)配合动画,使图像沿特定...
3. **自定义控件**:`WaterEffectPictureBox.cs`可能是一个自定义的PictureBox控件,扩展了标准的PictureBox以实现水波纹理的绘制。开发者通常会这样做以添加特定的功能或行为,比如在这个案例中,处理鼠标交互以...