as3 滤镜

package {
        import flash.display.Sprite;
        import flash.filters.BlurFilter;
        import flash.filters.DropShadowFilter;
        import flash.filters.GlowFilter;
        import flash.filters.BevelFilter;
        import flash.filters.GradientBevelFilter; 
        import flash.filters.GradientGlowFilter;
        import flash.filters.ColorMatrixFilter;
        import flash.filters.ConvolutionFilter;
        import flash.filters.DisplacementMapFilter;
        import flash.display.Bitmap;
        import flash.display.BitmapDataChannel;

        public class FilterMain extends Sprite
        { 
                public function FilterMain()
                { 
                        //Drop shadow(投影滤镜) 
                        shad();
                        //Blur(模糊滤镜) 
                        blur();
                        //Glow(发光滤镜) 
                        glow();
                        //Belver(斜角滤镜) 
                        belver();
                        //Gradient belvel(渐变斜角滤镜) 
                        gradientBelvel();
                        //Gradient glow(渐变发光滤镜) 
                        gradientGlow();
                        //Color matrix(颜色矩阵滤镜) 
                        colorMatrix();
                        //Convolution(卷积滤镜) 
                        convolution();
                        //Displacement map(置换图滤镜) 
                        displacement();
                }
                //        投影滤镜
                private function shad():void
                {   
                        //                                                                                                距离         角度        颜色          透明度         水平模糊量 垂直模糊量 强度 品质  内部 是否挖空        是否隐藏对象
                        var filterropShadowFilter = new DropShadowFilter(4, 45, 0xffff00,  1,     6,      6,                1 , 1 ,false,  false,         false);
                        var myFilters:Array = new Array();
                        myFilters.push(filter);
                        mc1.filters = myFilters;
                }
                //        模糊滤镜
                private function blur():void
                {
                        //                                                                        水平模糊量        垂直模糊量        品质
                        var filter:BlurFilter = new BlurFilter(5,                        5,                        1);
                        var myFilters:Array = new Array();
                        myFilters.push(filter);
                        mc2.filters = myFilters;
                }
                //        发光滤镜
                private function glow():void
                { 
                        //                                                                                颜色    透明度 水平模糊量 垂直模糊量 强度 品质  内部  是否挖空
                        var filter:GlowFilter = new GlowFilter(0xff00ff,   1,      10,        10,     2,  1,   false,false);
                        var myFilters:Array = new Array();
                        myFilters.push(filter);
                        mc3.filters = myFilters;
                }
                //        斜角滤镜
                private function belver():void
                { 
                        //                                                                                距离 角度  颜色    加亮颜色的透明值 斜角的阴影颜色 斜角的阴影透明值 水平模糊量  垂直模糊量 强度 品质  位置   是否挖空
                          var filter:BevelFilter = new BevelFilter(4,   45,0x0000ff,       1,           0,                                1,                        4,          4,     1,  1,  "inner",false);
                        var myFilters:Array = new Array();
                        myFilters.push(filter);
                        mc4.filters = myFilters;
                }
                //        斜角渐变滤镜
                private function gradientBelvel():void
                { 
                        //                                                                                                        偏移距离 角度        颜色数组                        colors数组中对应颜色的 Alpha 透明度值的数组        对应于 colors 数组中颜色的一组颜色分布比率                水平模糊量        垂直模糊量        强度         品质        位置                指定对象是否具有挖空效果
                        var filter:GradientBevelFilter = new GradientBevelFilter(4,  45, new Array(0xfff000,0x000f55),new Array(1,0.8),                                        new Array(50,1),                                                                4,                        4,                1,          1,   "inner",                false);
                        var myFilters:Array = new Array();
                        myFilters.push(filter);
                        mc5.filters = myFilters;
                }
                //        渐变发光滤镜
                private function gradientGlow():void
                {
                        
                        //                                                                                                        距离         角度                                颜色数组                        colors数组中对应颜色的 Alpha 透明度值的数组 对应于 colors 数组中颜色的一组颜色分布比率 水平模糊量         垂直模糊量 强度   品质  位置   指定对象是否具有挖空效果
                        var filter:GradientGlowFilter = new GradientGlowFilter(4,45,new Array(0xff55cc,0xcc55ff,0x00ff00),new Array(0.5,0.8,0.5),                                        new Array(30,40,30),                                        4,                4,                 1,  1,  "inner",false);
                        var myFilters:Array = new Array();
                        myFilters.push(filter);
                        mc6.filters = myFilters;
                }
                //        颜色矩阵滤镜
                private function colorMatrix():void
                {
                        //详情 请看 http://blog.sina.com.cn/s/blog_49b35d540100aks4.html
                        var filter:ColorMatrixFilter = new ColorMatrixFilter(new Array(
                                1,0,0,0,0,//        
                            0,2,0,0,0,//
                0,0,1,0,0,//
                0,0,0,1,0));//
                        var myFilters:Array = new Array();
                        myFilters.push(filter);
                        mc7.filters = myFilters;
                }
                //        卷积滤镜
                private function convolution():void
                {
                        //        这里是模糊效果  详情 请看 http://www2.flash8.net/teach/3755.htm
                        //                                                                                                矩阵的实际列数        矩阵的实际行数        矩阵数据 3*3                                 一个系数做除数用  一个系数做增量用         是否牵涉到alpha通道,默认为true        是否该图片的边缘不受color参数的影响,默认为true                此参数作为影响图片边缘的颜色                一个替换色的alpha百分比
                        var filter:ConvolutionFilter = new ConvolutionFilter(3,                        3,                                new Array(1,1,1,1,1,1,1,1,1),        5,                                0.5,                        true,                                                true,                                                                                        0,                                                                1);
                        var myFilters:Array = new Array();
                        myFilters.push(filter);
                        mc8.filters = myFilters;  
                }
                //        置换图滤镜
                private function displacement():void
                {   //         详情 请看 http://blog.163.com/mdzhg@126/bl ... 568201042402331281/
                        var filterisplacementMapFilter = new DisplacementMapFilter(new BM(),mc9.rect,BitmapDataChannel.GREEN,BitmapDataChannel.GREEN,150,150,"wrap",0,1);
                        var myFilters:Array = new Array();
                        myFilters.push(filter);
                        mc9.filters = myFilters;  
                }
        }

}

转自https://www.cnblogs.com/tinytiny/p/3316752.html

原文地址:https://www.cnblogs.com/lingLuoChengMi/p/9486264.html