包 | flash.filters |
类 | public final class GlowFilter |
继承 | GlowFilter BitmapFilter Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
distance
和 angle
属性设置为 0 时,发光滤镜与投影滤镜极为相似。您可以将滤镜应用于任何显示对象(即,从 DisplayObject 类继承的对象),例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。
滤镜的具体使用取决于要应用滤镜的对象:
- 要对显示对象应用滤镜,请使用
filters
属性(继承自 DisplayObject)。设置对象的filters
属性不会修改相应的对象,而清除filters
属性可以删除相应的滤镜。 - 要对 BitmapData 对象应用滤镜,请使用
BitmapData.applyFilter()
方法。对 BitmapData 对象调用applyFilter()
会取得源 BitmapData 对象和滤镜对象,并最终生成一个过滤图像。
如果对显示对象应用滤镜,显示对象的 cacheAsBitmap
属性将设置为 true
。如果清除所有滤镜,将恢复 cacheAsBitmap
的原始值。
此滤镜支持舞台缩放。但是,它不支持常规缩放、旋转和倾斜。如果对象本身进行了缩放(如果将 scaleX
和 scaleY
设置为除 1.0 以外的其它值),滤镜将不进行缩放。只有用户在舞台上进行放大时它才会缩放。
如果所得图像超过最大尺寸,则不应用滤镜。在 AIR 1.5 和 Flash Player 10 中,最大宽度或高度为 8,191 像素,并且像素总数不能超过 16,777,215 像素。(因此,如果图像的宽度为 8,191 像素,则其高度只能为 2,048 像素。)在 Flash Player 9 及早期版本和 AIR 1.1 及早期版本中,高度最大为 2,880 像素,宽度最大为 2,880 像素。例如,如果在放大某大型影片剪辑时应用了滤镜,则所得图像超过最大尺寸时,将关闭该滤镜。
相关 API 元素
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.DisplayObject.scaleX
flash.display.DisplayObject.scaleY
flash.filters.DropShadowFilter.distance
flash.filters.DropShadowFilter.angle
属性 | 由以下参数定义 | ||
---|---|---|---|
alpha : Number
颜色的 Alpha 透明度值。 | GlowFilter | ||
blurX : Number
水平模糊量。 | GlowFilter | ||
blurY : Number
垂直模糊量。 | GlowFilter | ||
color : uint
光晕颜色。 | GlowFilter | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
inner : Boolean
指定发光是否为内侧发光。 | GlowFilter | ||
knockout : Boolean
指定对象是否具有挖空效果。 | GlowFilter | ||
quality : int
应用滤镜的次数。 | GlowFilter | ||
strength : Number
印记或跨页的强度。 | GlowFilter |
方法 | 由以下参数定义 | ||
---|---|---|---|
GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 6.0, blurY:Number = 6.0, strength:Number = 2, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)
用指定参数初始化新的 GlowFilter 实例。 | GlowFilter | ||
[覆盖]
返回此滤镜对象的副本。 | GlowFilter | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
alpha | 属性 |
blurX | 属性 |
blurY | 属性 |
color | 属性 |
inner | 属性 |
knockout | 属性 |
quality | 属性 |
quality:int
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
应用滤镜的次数。默认值为 BitmapFilterQuality.LOW
,与应用一次滤镜等效。值 BitmapFilterQuality.MEDIUM
两次应用滤镜;值 BitmapFilterQuality.HIGH
三次应用滤镜。滤镜的值越小,呈示速度越快。
对于大多数应用,quality
的值为低、中或高就足够了。您可以使用其他数值(最高为 15)来达到不同的效果,但是值越高,呈示速度越慢。除了增加 quality
的值,仅增加 blurX
和 blurY
属性的值通常也可以获得类似的效果,而且呈现速度更快。
实现
public function get quality():int
public function set quality(value:int):void
相关 API 元素
strength | 属性 |
GlowFilter | () | 构造函数 |
public function GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 6.0, blurY:Number = 6.0, strength:Number = 2, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
用指定参数初始化新的 GlowFilter 实例。
参数color:uint (default = 0xFF0000 ) — 光晕颜色,采用十六进制格式 0xRRGGBB。默认值为 0xFF0000。
| |
alpha:Number (default = 1.0 ) — 颜色的 Alpha 透明度值。有效值为 0 到 1。例如,0.25 设置透明度值为 25%。
| |
blurX:Number (default = 6.0 ) — 水平模糊量。有效值为 0 到 255(浮点)。2 的乘方值(如 2、4、8、16 和 32)经过优化,呈示速度比其它值更快。
| |
blurY:Number (default = 6.0 ) — 垂直模糊量。有效值为 0 到 255(浮点)。2 的乘方值(如 2、4、8、16 和 32)经过优化,呈示速度比其它值更快。
| |
strength:Number (default = 2 ) — 印记或跨页的强度。该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。有效值为 0 到 255。
| |
quality:int (default = 1 ) — 应用滤镜的次数。使用 BitmapFilterQuality 常量:
有关详细信息,请参阅 | |
inner:Boolean (default = false ) — 指定发光是否为内侧发光。值 true 指定发光是内侧发光。值 false 指定发光是外侧发光(对象外缘周围的发光)。
| |
knockout:Boolean (default = false ) — 指定对象是否具有挖空效果。值为 true 将使对象的填充变为透明,并显示文档的背景颜色。
|
相关 API 元素
clone | () | 方法 |
override public function clone():BitmapFilter
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回此滤镜对象的副本。
返回BitmapFilter — 具有原始 GlowFilter 实例的所有属性的新 GlowFilter 实例。
|
- 导入所需的类。
- 声明
draw
方法中所用的三个属性,该方法使用 Graphics 类的方法(通过 Sprite 的graphics
属性访问)绘制一个橙色正方形。 - 创建构造函数,该函数执行以下操作:
- 调用
draw
函数以创建矩形。 - 创建 BitmapFilter 对象
glowFilter
并使用getBitmapFilter()
函数的返回值对其赋值。 - 将
glowFilter
对象的值数组赋予根显示对象的filters
属性。在这种情况下,根显示对象的所有子显示对象将继承发光滤镜属性。因此,在draw()
函数中创建的矩形将显示发光滤镜属性。
- 调用
package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.filters.BitmapFilter; import flash.filters.BitmapFilterQuality; import flash.filters.GlowFilter; public class GlowFilterExample extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; private var offset:uint = 50; public function GlowFilterExample() { //draw the rectangle using the draw() function below draw(); //assign the values from getBitmapFilter function below //to a BitmapFilter object "glowFilter" var glowFilter:BitmapFilter = getBitmapFilter(); //populate the filters property of the root display object with the array of values //from the glowFilter object. filters = [ glowFilter ]; } private function getBitmapFilter():BitmapFilter { var color:Number = 0x33CCFF; var alpha:Number = 0.8; var blurX:Number = 35; var blurY:Number = 35; var strength:Number = 2; var inner:Boolean = false; var knockout:Boolean = false; var quality:Number = BitmapFilterQuality.HIGH; return new GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(offset, offset, size, size); graphics.endFill(); } } }
Tue Jun 12 2018, 11:04 AM Z