`

[转]逼真的水波倒影

阅读更多
package
{
    import flash.display.*;
    import flash.events.*;
    import flash.filters.*;
    import flash.geom.*;

    dynamic public class MainTimeline extends MovieClip
    {
        public var mc:MovieClip;
        public var bmd:BitmapData;
        public var bmd1:BitmapData;
        public var m1:Matrix;
        public var bmd2:BitmapData;
        public var shape:Shape;
        public var fillType:String;
        public var colors:Array;
        public var alphas:Array;
        public var ratios:Array;
        public var matr:Matrix;
        public var spreadMethod:String;
        public var seed:Number;
        public var point1:Point;
        public var point2:Point;
        public var bm:Bitmap;
        public var bm1:Bitmap;
        public var dmf:DisplacementMapFilter;

        public function MainTimeline()
        {
            addFrameScript(0, this.frame1);
            
        }

        public function frame(param1:Event) : void
        {
            this.bmd1.perlinNoise(this.mc.width / 3, this.mc.height / 3, 3, this.seed, true, true, 1, true, new Array(this.point1, this.point2));
            this.bm.filters = [this.dmf];
            this.point1.y = this.point1.y + 5;
            this.point2.y = this.point2.y + 2;
            if (this.point1.y > 10000)
            {
                this.point1.y = 0;
                this.point2.y = 0;
            }
           
        }

        function frame1()
        {
            this.bmd = new BitmapData(this.mc.width, this.mc.height, true, 0);
            this.bmd1 = new BitmapData(this.mc.width, this.mc.height);
            this.m1 = new Matrix();
            this.m1 = this.mc.transform.matrix.clone();
            this.bmd2 = new BitmapData(this.mc.width, this.mc.height, true, 0);
            this.shape = new Shape();
            this.fillType = GradientType.LINEAR;
            this.colors = [0, 0];
            this.alphas = [0, 1];
            this.ratios = [0, 255];
            this.matr = new Matrix();
            this.matr.createGradientBox(this.mc.width, this.mc.height, 90 * Math.PI / 180, 0, 0);
            this.spreadMethod = SpreadMethod.PAD;
            this.shape.graphics.beginGradientFill(this.fillType, this.colors, this.alphas, this.ratios, this.matr, this.spreadMethod);
            this.shape.graphics.drawRect(0, 0, this.mc.width, this.mc.height);
            this.bmd2.draw(this.shape);
            this.m1.d = this.m1.d * -1;
            this.m1.tx = 0;
            this.m1.ty = this.mc.height;
            this.bmd.draw(this.mc, this.m1);
            this.bmd.copyPixels(this.bmd2, this.bmd2.rect, new Point(0, 0), this.bmd, new Point(0, 0), true);
            this.seed = Math.floor(Math.random() * 5);
            this.point1 = new Point(0, 0);
            this.point2 = new Point(0, 0);
            this.bm = new Bitmap(this.bmd);
            this.bm1 = new Bitmap(this.bmd1);
            this.dmf = new DisplacementMapFilter(this.bmd1, new Point(0, 0), 1, 1, 10, 20, "color", 0, 0);
            addEventListener(Event.ENTER_FRAME, this.frame);
            addChild(this.bm);
            this.bm.x = this.mc.x;
            this.bm.y = this.mc.y + this.mc.height - 2;
        }

    }
}


分享到:
评论

相关推荐

    C# 水波 倒影 特效 源码

    在本文中,我们将深入探讨如何在C#编程环境中实现水波倒影特效。这个特效通常用于增强图形用户界面(GUI)的视觉体验,为应用程序增添动态感和真实感。通过理解并应用以下知识点,你可以创建自己的C#水波倒影效果。 ...

    图像处理 image proccess 水波倒影效果

    在图像处理领域,水波倒影效果是一种常见的视觉特效,常用于增强图像的动态感和艺术性。在J2ME(Java 2 Micro Edition)环境下,这种效果可以通过编程实现,为移动设备上的应用程序添加生动有趣的视觉元素。J2ME是一...

    FLASH图片水波倒影

    利用FLASH中的简单功能,使图片有水波倒影的效果!

    html5 canvas图片水波倒影动画特效

    对于水波倒影动画,首先我们需要加载图片到Canvas上。`drawImage()`函数可以做到这一点,它接受图像源、起始绘制位置和大小作为参数。例如:`ctx.drawImage(img, 0, 0, img.width, img.height)`会将图片完整地绘制在...

    超酷jQuery水波倒影特效插件

    【jQuery水波倒影特效插件-lake.js】 在网页设计中,动态视觉效果往往能提升用户体验,增强网站的吸引力。"超酷jQuery水波倒影特效插件"即lake.js,它是一款专用于实现水波倒影效果的jQuery插件。通过这款插件,...

    水波倒影软件\flash水波制作器v2.3绿色汉化版

    Flash水波制作器简化了这个过程,让用户无需掌握复杂的编程知识,只需通过直观的图形用户界面,就能轻松创建出逼真的水波倒影效果。 接着,我们关注Flash水波制作器v2.3的主要功能。这款软件提供了丰富的参数调整...

    vb 具有动态水波倒影效果

    在VB(Visual Basic)编程环境中,创建动态水波倒影效果是一种高级的图形处理技术,主要涉及API(应用程序编程接口)函数的运用。这个技术可以让应用程序的窗体呈现出一种仿佛水面波动的效果,增加用户界面的视觉...

    Photoshop CS Flood 104水波倒影滤镜

    Photoshop CS Flood 104水波倒影滤镜是一款专为Adobe Photoshop设计的强大插件,主要用于在图像处理中创建逼真的水波效果和倒影。这款滤镜兼容多个Photoshop版本,包括CS3、CS4、CS5和CS6,使得用户无需深入学习复杂...

    有趣的窗体实时水波倒影特效示例

    在VB(Visual Basic)编程中,创建窗体实时水波倒影特效是一种吸引用户注意力并提升应用程序用户体验的技术。本文将详细解析"有趣的窗体实时水波倒影特效示例"中的核心知识点,帮助你理解如何在VB应用中实现这一效果...

    滤镜水波倒影

    "滤镜水波倒影"是一款适用于Adobe Photoshop的专业滤镜插件,由Flaming Pear公司开发。这款滤镜能够为图像添加动态的水波效果,并创造出逼真的水面倒影,从而提升图像的艺术表现力和视觉吸引力。 该滤镜不仅兼容...

    PS滤镜工具1--水波倒影

    "PS滤镜工具1--水波倒影"这个主题,主要聚焦于利用Photoshop中的滤镜来创建逼真的水波及倒影效果。这种效果常用于设计海报、网站背景或者艺术作品,为视觉呈现增添动态和生动感。 首先,让我们了解一下什么是滤镜。...

    水波倒影滤镜

    这款滤镜专为创造出逼真的水波倒影效果而设计,适用于那些希望在图像中添加动态水体效果的设计师和摄影师。在数字艺术和图形设计领域,这种效果可以极大地提升作品的视觉吸引力,尤其是在景观、建筑或自然风光的图像...

    FLASH8 as水波倒影源码

    适用于FLASH8 AS的水波倒影适用于FLASH8 AS的水波倒影适用于FLASH8 AS的水波倒影

    HTML5 canvas水波倒影图片动画.zip

    在这个“HTML5 canvas水波倒影图片动画”项目中,我们主要探讨的是如何利用JavaScript和HTML5 Canvas API来实现一种逼真的水波荡漾,以及其在图片上的倒影效果,常用于模拟河流、湖泊等水面动态场景。 首先,我们...

    水波倒影控件

    "水波倒影控件"是专为Delphi编程环境设计的一款图形图像组件,它主要用于在应用程序中实现逼真的水波动态效果以及物体倒影。这个控件可以在Delphi 5.0及其后续版本,包括Delphi 7.0中使用,能够极大地提升用户界面的...

    【图像处理】MATLAB应用实战案例:画出水波倒影效果.zip

    水波倒影是图像合成和艺术设计中常见的元素,通过模拟水面波动与物体倒影的交互,可以创造出逼真的视觉效果。 首先,我们需要理解图像处理的基本概念。图像可以视为二维矩阵,每个元素(像素)对应矩阵中的一个值,...

    C#图像处理 C#图片倒影 C#水波纹

    在这个特定的场景中,我们关注的是如何使用C#来实现图片的倒影效果以及水波纹效果。这两种效果在图形用户界面设计或者游戏开发中经常被用到,可以增加视觉吸引力和动态感。 首先,让我们深入了解一下图片倒影的实现...

    超酷jQuery水波倒影特效插件.zip

    总之,"lake.js"插件通过jQuery库实现了在网页中创建逼真的水波倒影特效,它不仅提高了用户体验,也为网页设计师提供了新的创作工具。通过理解和掌握这个插件的使用,开发者可以将普通的静态图片转变为生动的动态...

    水波倒影插件

    ps水波倒影插件

Global site tag (gtag.js) - Google Analytics