flash.filters
public final class GlowFilter
继承GlowFilter Inheritance BitmapFilter Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

使用 GlowFilter 类可以对显示对象应用发光效果。有多个用于发光样式的选项,包括内侧发光或外侧发光以及挖空模式。在投影滤镜的 distanceangle 属性设置为 0 时,发光滤镜与投影滤镜极为相似。您可以将滤镜应用于任何显示对象(即,从 DisplayObject 类继承的对象),例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。

滤镜的具体使用取决于要应用滤镜的对象:

如果对显示对象应用滤镜,显示对象的 cacheAsBitmap 属性将设置为 true。如果清除所有滤镜,将恢复 cacheAsBitmap 的原始值。

此滤镜支持舞台缩放。但是,它不支持常规缩放、旋转和倾斜。如果对象本身进行了缩放(如果将 scaleXscaleY 设置为除 1.0 以外的其它值),滤镜将不进行缩放。只有用户在舞台上进行放大时它才会缩放。

如果所得图像超过最大尺寸,则不应用滤镜。在 AIR 1.5 和 Flash Player 10 中,最大宽度或高度为 8,192 像素,并且像素总数不能超过 16,777,216 像素。(因此,如果图像的宽度为 8,192 像素,则其高度只能为 2,048 像素。)在 Flash Player 9 及早期版本和 AIR 1.1 及早期版本中,高度最大为 2,880 像素,宽度最大为 2,880 像素。 例如,如果在放大某大型影片剪辑时应用了滤镜,则所得图像超过最大尺寸时,将关闭该滤镜。

查看示例

另请参见

flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.DisplayObject.scaleX
flash.display.DisplayObject.scaleY
flash.filters.DropShadowFilter.distance
flash.filters.DropShadowFilter.angle
Using filters in Flex


公共属性
 属性定义方
  alpha : Number
颜色的 Alpha 透明度值。
GlowFilter
  blurX : Number
水平模糊量。
GlowFilter
  blurY : Number
垂直模糊量。
GlowFilter
  color : uint
光晕颜色。
GlowFilter
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  inner : Boolean
指定发光是否为内侧发光。
GlowFilter
  knockout : Boolean
指定对象是否具有挖空效果。
GlowFilter
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  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
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
属性详细信息
alpha属性
alpha:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

颜色的 Alpha 透明度值。有效值为 0 到 1。例如,.25 设置透明度值为 25%。默认值为 1。



实现
    public function get alpha():Number
    public function set alpha(value:Number):void
blurX属性 
blurX:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

水平模糊量。有效值为 0 到 255(浮点)。默认值为 6。2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。



实现
    public function get blurX():Number
    public function set blurX(value:Number):void
blurY属性 
blurY:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

垂直模糊量。有效值为 0 到 255(浮点)。默认值为 6。2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。



实现
    public function get blurY():Number
    public function set blurY(value:Number):void
color属性 
color:uint  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

光晕颜色。有效值采用十六进制格式 0xRRGGBB。默认值为 0xFF0000。



实现
    public function get color():uint
    public function set color(value:uint):void
inner属性 
inner:Boolean  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

指定发光是否为内侧发光。值 true 表示内侧发光。默认值为 false,即外侧发光(对象外缘周围的发光)。



实现
    public function get inner():Boolean
    public function set inner(value:Boolean):void
knockout属性 
knockout:Boolean  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

指定对象是否具有挖空效果。值为 true 将使对象的填充变为透明,并显示文档的背景颜色。默认值为 false(不应用挖空效果)。



实现
    public function get knockout():Boolean
    public function set knockout(value:Boolean):void
quality属性 
quality:int  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

应用滤镜的次数。默认值为 BitmapFilterQuality.LOW,与应用一次滤镜等效。值 BitmapFilterQuality.MEDIUM 两次应用滤镜;值 BitmapFilterQuality.HIGH 三次应用滤镜。滤镜的值越小,呈现速度越快。

对于大多数应用,quality 的值为低、中或高就足够了。您可以使用其它数值(最高为 15)来达到不同的效果,但是值越高,呈现速度越慢。除了增加 quality 的值,仅增加 blurXblurY 属性的值通常也可以获得类似的效果,而且呈现速度更快。



实现
    public function get quality():int
    public function set quality(value:int):void

另请参见

strength属性 
strength:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

印记或跨页的强度。该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。有效值为 0 到 255。默认值为 2。



实现
    public function get strength():Number
    public function set strength(value:Number):void
构造函数详细信息
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。例如,.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 常数:
  • BitmapFilterQuality.LOW
  • BitmapFilterQuality.MEDIUM
  • BitmapFilterQuality.HIGH

有关详细信息,请参阅 quality 属性的说明。

 
inner:Boolean (default = false) — 指定发光是否为内侧发光。值 true 指定发光是内侧发光。值 false 指定发光是外侧发光(对象外缘周围的发光)。
 
knockout:Boolean (default = false) — 指定对象是否具有挖空效果。值为 true 将使对象的填充变为透明,并显示文档的背景颜色。

另请参见

方法详细信息
clone()方法
override public function clone():BitmapFilter

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

返回此滤镜对象的副本。

返回
BitmapFilter — 具有原始 GlowFilter 实例的所有属性的新 GlowFilter 实例。
示例 如何使用示例
GlowFilterExample.as

以下示例将绘制一个正方形,并对它应用模糊滤镜。该示例的一般工作流程如下:
  1. 导入所需的类。
  2. 声明 draw 方法中所用的三个属性,该方法使用 Graphics 类的方法(通过 Sprite 的 graphics 属性访问)绘制一个橙色正方形。
  3. 创建构造函数,该函数执行以下操作:
    • 调用 draw 方法。
    • 创建名为 filter 的新 BitmapFilter 对象,并将对 getBitmapFilter()(用于定义滤镜)的调用的返回值赋予它。
    • 创建一个名为 myFilters 的新数组,并将 filter 添加到该数组。
    • myFilters 分配给 BevelFilterExample 对象的 filters 属性。这将应用 myFilters 中包含的所有滤镜,在本例中仅为 filter
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();
            var filter:BitmapFilter = getBitmapFilter();
            var myFilters:Array = new Array();
            myFilters.push(filter);
            filters = myFilters;
        }

        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();
        }
    }
}