as3中滤镜基础知识
发布-flex技术 | 查看- | 发表时间-2011-12-14
ActionScript 3.0 包括 flash.filters 包,它包含一系列位图效果滤镜类,允许开发人员以编程方式对位图应用滤镜并显示对象,以达到图形处理应用程序中所具有的许多相同效果。
为应用程序添加优美效果的一种方式是添加简单的图形效果,如在图片后面添加投影可产生三维视觉效果,在按钮周围添加发光可表示该按钮当前处于活动状态。ActionScript 3.0 包括九种可应用于任何显示对象或 BitmapData 实例的滤镜。滤镜的范围从基本滤镜 (如投影和发光滤镜)到用于创建各种效果的复杂滤镜 (如置换图滤镜和卷积滤镜)。
使用滤镜可以对位图和显示对象应用从投影到斜角和模糊等各种效果。由于将每个滤镜定义为一个类,因此应用滤镜涉及创建滤镜对象的实例,这与构造任何其它对象并没有区别。创建了滤镜对象的实例后,通过使用该对象的 filters 属性可以很容易地将此实例应用于显示对象;如果是 BitmapData 对象,可以使用 applyFilter() 方法。
若要创建新滤镜对象,只需调用所选的滤镜类的构造函数方法即可。例如,若要创建新的 DropShadowFilter 对象,请使用以下代码:
import flash.filters.DropShadowFilter;
var myFilter:DropShadowFilter = new DropShadowFilter();
虽然此处没有显示参数,但 DropShadowFilter() 构造函数 (与所有滤镜类的构造函数一样)接受多个可用于自定义滤镜效果外观的可选参数。构造滤镜对象后,可以将其应用于显示对象或 BitmapData 对象;应用滤镜的方式取决于为之应用该滤镜的对象。
对显示对象应用滤镜效果时,可以通过 filters 属性应用这些效果。显示对象的 filters 属性是一个 Array 实例,其中的元素是应用于该显示对象的滤镜对象。若要对显示对象应用单个滤镜,请创建该滤镜实例,将其添加到 Array 实例,再将该 Array 对象分配给显示对象的 filters 属性:
DisplayObject.filter=myFilter
还有更简单的方法:
myDisplayObject.filters = [new BlurFilter()];
上面的代码使用 Array 文本语法 (方括号)创建一个 Array 实例,并创建一个新的 BlurFilter 实例作为 Array 中的一个元素,然后将该 Array 分配给名为 myDisplayObject 的显示对象的 filters 属性。
删除显示对象中的所有滤镜非常简单,只需为 filters 属性分配一个 null 值即可:
myDisplayObject.filters = null;
| 滤镜类型 | 滤镜名 | 使 用 效 果 |
| BevelFilter | 斜角滤镜 | 使用 BevelFilter 类可以为应用了滤镜的对象添加 3D 斜角边缘。此滤镜可使对象的硬角或边缘具有硬角或边缘被凿削或呈斜面的效果。 |
| BlurFilter | 模糊滤镜 | BlurFilter 类可使显示对象及其内容具有涂抹或模糊的效果。模糊效果可以用于产生对象不在焦点之内的视觉效果,也可以用于模拟快速运动,比如运动模糊。通过将模糊滤镜的 quality 属性设置为低,可以模拟轻轻离开焦点的镜头效果。将 quality 属性设置为高会产生类似高斯模糊的平滑模糊效果。 |
| DropShadowFilter | 投影滤镜 | 投影给人一种目标对象上方有独立光源的印象。可以修改此光源的位置和强度,以产生各种不同的投影效果。DropShadowFilter 类所使用的算法与模糊滤镜的算法类似。主要区别是投影滤镜有更多的属性,您可以修改这些属性来模拟不同的光源属性 (如 Alpha、颜色、偏移和亮度)。 |
| GlowFilter | 发光滤镜 | GlowFilter 类对显示对象应用加亮效果,使显示对象看起来像是被下方的灯光照亮,可创造出一种柔和发光效果。与投影滤镜类似,发光滤镜包括的属性可修改光源的距离、角度和颜色,以产生各种不同效果。GlowFilter 还有多个选项用于修改发光样式,包括内侧或外侧发光和挖空模式。 |
| GradientBevelFilter | 渐变斜角滤镜 | GradientBevelFilter 类可对显示对象或 BitmapData 对象应用增强的斜角效果。在斜角上使用渐变颜色可以大大改善斜角的空间深度,使边缘产生一种更逼真的三维外观效果。 |
| GradientGlowFilter | 渐变发光滤镜 | GradientGlowFilter 类可对显示对象或 BitmapData 对象应用增强的发光效果。该效果可使您更好地控制发光颜色,因而可产生一种更逼真的发光效果。另外,渐变发光滤镜还允许您对对象的内侧、外侧或上侧边缘应用渐变发光。 |
或许你还对下面的文章感兴趣

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。