Flash的filters类为我们提供了9种滤镜效果,要用AS实现滤镜效果,首先仍然需导入filters类:
import flash.filters.*; 然后,使用new构造函数,创建一个filters对象,并将它赋值给MC(或文本或按钮)的filters属性从而实现滤镜效果。 下面分别介绍这些滤镜效果: 一、模糊滤镜:BlurFilter BlurFilter类可以带来模糊的效果。要创建BlurFilter实例可用下面的方法: var filter: BlurFilter = new BlurFilter(blurX, blurY, quality); 在BlurFilter的构造函数中使用了三个参数: 1、blurX 水平模糊量 有效值为0到255(浮点值)。默认值是4。作为2的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。 2、blurY 垂直模糊量 有效值为0到255(浮点值)。默认值是4。作为2的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。 3、quality应用滤镜的次数 默认值是1,即表示低品质。值为2 表示中等品质,值为3 表示高品质并且接近高斯模糊。 导入一张图片将它做成MC,放到舞台上,实例名称为my_mc 然后打开帧动作面板,输入下列代码: import flash.filters.* var filter:BlurFilter = new BlurFilter(8,8,3); my_mc.filters = [filter]; 测试影片,这时图片已变模糊了。 我们甚至可以在运行时改变模糊滤镜的参数,使模糊效果是可变的,比如根据鼠标的位置产生不同的模糊效果。将代码改成下面的: 本帖隐藏的内容需要回复才可以浏览 测试影片,当鼠标移动时,模糊效果发生变化,鼠标距图片中心越远,模糊效果越深。效果如右边DropShadowFilter滤镜将产生投影的效果。要创建投影滤镜可用:
二、投影滤镜:DropShadowFilter var filter: DropShadowFilter = new DropShadowFilter(distance, angleInDegrees,color,alpha,blurX,blurY,strength,quality,inner,knockout,hideObject);
本帖隐藏的内容需要回复才可以浏览 因为投影滤镜的所有参数都是可选的,所以我们没有给任何参数,即都使用默认值。 本帖隐藏的内容需要回复才可以浏览
最近访问本帖者列表:访问时间:2018-08-08 21:41 | |||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||
三、发光滤镜:GlowFilter 构造函数: 参数: color:― 光晕颜色,采用十六进制格式 0x RRGGBB。默认值是 0xFF0000。 本帖隐藏的内容需要回复才可以浏览 | |
四、渐变发光滤镜:GradientGlowFilter 构造函数: 参数:
| |
五、斜角滤镜:BevelFilter(斜角滤镜可产生三维效果。) 构造函数: 参数: 本帖隐藏的内容需要回复才可以浏览 你可以调整其它参数,创建不同的效果。 | |
六、渐变斜角滤镜:GradientBevelFilter 构造函数: 参数: distance: ― 偏移距离。有效值为 0 到 8。默认值为 4。 默认值为 "inner"。 knockout: ― 指定是否应用挖空效果。值为 true 将使对象的填充变为透明,并显示文档的背 var filter:GradientBevelFilter = new GradientBevelFilter(); | |
七、矩阵颜色滤镜:ColorMatrixFilter 使用这个滤镜可以将一个4x5的矩阵应到MC(或位图)上,从面改变MC的色相,透明度及亮度等。我想这个滤镜的难点应该是对这个矩阵的理解上。RGB 颜色由红绿蓝三种色组成,矩阵将各像素颜色拆分成红绿蓝三种色另加一个透明度。共四个通道。每个通道由5组值组成这就形成了一个4x5的矩阵。看看下图,来理解一下: 红 绿 蓝 透明度 结果 从上面的矩阵中可看出,每个通道在其相应的位置设置了值,最小是0,最大为1,改变这些值就可改变图象的色相及透明度。结果的数值改变可改变图象的亮度。比如将矩阵中红色通道的值由1改为0.5,那么图象中的红色元素将会降低。 将代码改为: import flash.filters.*; 测试影片,可以片到图片亮度被增大了很多。这是将矩阵中红绿蓝通道的结果值都改为了100得到的结果。 本帖隐藏的内容需要回复才可以浏览 | |
八、卷积滤镜:ConvolutionFilter 卷积滤镜同样用一个矩阵于图象可形成如模糊、边缘检测、锐化、浮雕和斜角等多种效果。卷积滤镜重新计算每个像素,并根据矩阵将像素及其周围的象素要加得也该像素的新颜色。最常用的矩阵是3x3的矩阵,如下图: 在这个矩阵中P代表本身的像素,而N代表周围的像素。那么下面这个矩阵: 可以看出将这个矩阵用于图象时,图象没有变化,因为除自已外周围的像素均为0,即周围像素对中间的P像素没有影响。 将矩阵存入一个数组,并将它作为ConvolutionFilter类构造函数的一个参数,可实现卷积滤镜效果,除了矩阵参数处ConvolutionFilter构造函数还有其它的一些参数: matrixX ― 矩阵的 x 维度(矩阵中列的数目)。默认值是 0。 里面有5个1,那么矩阵总值为5,如果divisor参设为5,则图象的亮度无变化。如果本参数为1,那么图象的亮度是原图象的5/1倍,这时图象就很亮了。如果本参数为10,那么原图片的亮度为5/10,显然图片就变暗了。 bias: ― 要添加到矩阵转换结果的偏差。默认值是 0。 下面是几个基本效果的矩阵: 基本模糊(除数 5): 锐化(除数 1): 边缘检测(除数 1): 浮雕效果(除数 1): 练习:将上面几个矩阵效果应用于图片,点击图片一次,变换一种效果。 本帖隐藏的内容需要回复才可以浏览 | |
九、图片置换滤镜: mapBitmap: ― 包含置换映射数据的 BitmapData 对象。 componentY: ― 说明在映射图像中使用哪个颜色通道来置换 y 结果。可能的值如下所示: scaleX: ― 用于缩放映射计算的 x 置换结果的乘数。 本帖隐藏的内容需要回复才可以浏览 同样的我们可以在运时改变投影的参数,从而改变效果。我们将这个效果改变加在图片的点击事件上,即点击图片投影效果发生改变。这里改变了三个参数,偏移量,颜色(随机)和角度。 | |