AS3 滤镜相关
<ignore_js_op> 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; } } } |