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

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

可使用 BevelFilter 类对显示对象添加斜角效果。斜角效果使对象(如按钮)具有三维外观。您可以利用不同的加亮颜色和阴影颜色、斜角上的模糊量、斜角的角度、斜角的位置和挖空效果来自定义斜角的外观。您可以将滤镜应用于任何显示对象(即,从 DisplayObject 类继承的对象),例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。

要创建新滤镜,请使用构造函数 new BevelFilter()。滤镜的具体使用取决于要应用滤镜的对象:

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

此滤镜支持舞台缩放。但是,它不支持常规缩放、旋转和倾斜。如果对象本身进行了缩放(如果 scaleXscaleY 属性未被设置为 100%),则滤镜不进行缩放。只有用户在舞台上进行放大时它才会缩放。

如果所得图像超过最大尺寸,则不应用滤镜。在 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.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()
Using filters in Flex


公共属性
 属性定义方
  angle : Number
斜角的角度。
BevelFilter
  blurX : Number
水平模糊量,以像素为单位。
BevelFilter
  blurY : Number
垂直模糊量,以像素为单位。
BevelFilter
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  distance : Number
斜角的偏移距离。
BevelFilter
  highlightAlpha : Number
加亮颜色的 Alpha 透明度值。
BevelFilter
  highlightColor : uint
斜角的加亮颜色。
BevelFilter
  knockout : Boolean
应用挖空效果 (true),这将有效地使对象的填色变为透明,并显示文档的背景颜色。
BevelFilter
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  quality : int
应用滤镜的次数。
BevelFilter
  shadowAlpha : Number
阴影颜色的 Alpha 透明度值。
BevelFilter
  shadowColor : uint
斜角的阴影颜色。
BevelFilter
  strength : Number
印记或跨页的强度。
BevelFilter
  type : String
斜角在对象上的位置。
BevelFilter
公共方法
 方法定义方
  
BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
用指定参数初始化新的 BevelFilter 实例。
BevelFilter
  
返回此滤镜对象的副本。
BevelFilter
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
属性详细信息
angle属性
angle:Number  [读写]

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

斜角的角度。有效值为 0 到 360 度。默认值为 45 度。

角度值表示理论上的光源落在对象上的角度,它决定了效果相对于该对象的位置。如果 distance 属性设置为 0,则效果相对于对象没有偏移,因此 angle 属性不起作用。



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

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

水平模糊量,以像素为单位。有效值为从 0 到 255(浮点)。默认值为 4。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(浮点)。默认值为 4。2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。



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

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

斜角的偏移距离。有效值以像素为单位(浮点)。默认值为 4。



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

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

加亮颜色的 Alpha 透明度值。该值被指定为 0 到 1 之间的标准值。例如,.25 设置透明度值为 25%。默认值为 1。



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

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

斜角的加亮颜色。有效值采用十六进制格式,0xRRGGBB。默认值为 0xFFFFFF。



实现
    public function get highlightColor():uint
    public function set highlightColor(value:uint):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 属性的值通常也可以获得类似的效果,而且呈现速度更快。

您可以使用以下 BitmapFilterQuality 常数指定 quality 属性的值:



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

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

阴影颜色的 Alpha 透明度值。该值被指定为 0 到 1 之间的标准值。例如,.25 设置透明度值为 25%。默认值为 1。



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

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

斜角的阴影颜色。有效值采用十六进制格式,0xRRGGBB。默认值为 0x000000。



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

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

印记或跨页的强度。有效值为 0 到 255。该值越大,印记的颜色越深,而且斜角与背景之间的对比度也越强。默认值为 1。



实现
    public function get strength():Number
    public function set strength(value:Number):void
type属性 
type:String  [读写]

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

斜角在对象上的位置。内斜角和外斜角被放置在内缘或外缘上;完全斜角被放置在整个对象上。有效值为 BitmapFilterType 常数:



实现
    public function get type():String
    public function set type(value:String):void

引发
TypeError — 设置时 String 为 null
构造函数详细信息
BevelFilter()构造函数
public function BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)

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

用指定参数初始化新的 BevelFilter 实例。

参数
distance:Number (default = 4.0) — 斜角的偏移距离,以像素为单位(浮点)。
 
angle:Number (default = 45) — 斜角的角度,0 至 360 度。
 
highlightColor:uint (default = 0xFFFFFF) — 斜角的加亮颜色,0xRRGGBB
 
highlightAlpha:Number (default = 1.0) — 加亮颜色的 Alpha 透明度值。有效值为 0.0 到 1.0。例如,.25 设置透明度值为 25%。
 
shadowColor:uint (default = 0x000000) — 斜角的阴影颜色,0xRRGGBB
 
shadowAlpha:Number (default = 1.0) — 阴影颜色的 Alpha 透明度值。有效值为 0.0 到 1.0。例如,.25 设置透明度值为 25%。
 
blurX:Number (default = 4.0) — 水平模糊量,以像素为单位。有效值为 0 到 255.0(浮点)。
 
blurY:Number (default = 4.0) — 垂直模糊量,以像素为单位。有效值为 0 到 255.0(浮点)。
 
strength:Number (default = 1) — 印记或跨页的强度。该值越高,压印的颜色越深,而且斜角与背景之间的对比度也越强。有效值为 0 到 255.0。
 
quality:int (default = 1) — 斜角的品质。有效值为 0 至 15,但是对于大多数应用,可以使用 BitmapFilterQuality 常数:
  • BitmapFilterQuality.LOW
  • BitmapFilterQuality.MEDIUM
  • BitmapFilterQuality.HIGH

这些值越低,滤镜的呈现速度就越快。可以使用其它可用的数值来实现不同的效果。

 
type:String (default = "inner") — 斜角类型。有效值为 BitmapFilterType 常数:BitmapFilterType.INNERBitmapFilterType.OUTERBitmapFilterType.FULL
 
knockout:Boolean (default = false) — 应用挖空效果 (true),这将有效地使对象的填色变为透明,并显示文档的背景颜色。

另请参见

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

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

返回此滤镜对象的副本。

返回
BitmapFilter — 具有与原始 BevelFilter 实例相同的所有属性的新 BevelFilter 实例。
示例 如何使用示例
BevelFilterExample.as

以下示例创建一个深黄色正方形,并用浅黄色 (0xFFFF00) 加亮和蓝色 (0x0000FF) 阴影应用斜角。该示例的一般工作流程如下:
  1. 导入所需的类。
  2. 声明 draw() 函数所用的三个属性,该函数绘制应用了斜角滤镜的对象。
  3. 创建 BevelFilterExample() 构造函数,该函数执行以下操作:
    • 调用稍后将声明的 draw() 函数。
    • 将变量 filter 声明为 BitmapFilter 对象,并将它分配给对 getBitmapFilter() 的调用的返回值。
    • 创建一个新的 Array 对象 myFilters 并将 filter 添加到该数组,将 myFilters 分配给 BevelFilterExample 对象的 filters 属性。这将应用 myFilters 中包含的所有滤镜,在本例中仅为 filter
  4. 创建 getBitmapFilter 函数,以创建和设置滤镜的属性。
  5. 创建 draw() 函数。该函数使用 Graphics 类的方法(通过 Sprite 类的 graphics 属性访问)绘制正方形。
package {
    import flash.display.Sprite;
    import flash.filters.BevelFilter;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.BitmapFilterType;

    public class BevelFilterExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint    = 80;
        private var offset:uint  = 50;

        public function BevelFilterExample() {
            draw();
            var filter:BitmapFilter = getBitmapFilter();
            var myFilters:Array = new Array();
            myFilters.push(filter);
            filters = myFilters;
        }

        private function getBitmapFilter():BitmapFilter {
            var distance:Number       = 5;
            var angleInDegrees:Number = 45;
            var highlightColor:Number = 0xFFFF00;
            var highlightAlpha:Number = 0.8;
            var shadowColor:Number    = 0x0000FF;
            var shadowAlpha:Number    = 0.8;
            var blurX:Number          = 5;
            var blurY:Number          = 5;
            var strength:Number       = 5;
            var quality:Number        = BitmapFilterQuality.HIGH;
            var type:String           = BitmapFilterType.INNER;
            var knockout:Boolean      = false;

            return new BevelFilter(distance,
                                   angleInDegrees,
                                   highlightColor,
                                   highlightAlpha,
                                   shadowColor,
                                   shadowAlpha,
                                   blurX,
                                   blurY,
                                   strength,
                                   quality,
                                   type,
                                   knockout);
        }

        private function draw():void {
            graphics.beginFill(bgColor);
            graphics.drawRect(offset, offset, size, size);
            graphics.endFill();
        }
    }
}