ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
flash.filters 

BevelFilter  - AS3

Packageflash.filters
Classpublic final class BevelFilter
InheritanceBevelFilter Inheritance BitmapFilter Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The BevelFilter class lets you add a bevel effect to display objects. A bevel effect gives objects such as buttons a three-dimensional look. You can customize the look of the bevel with different highlight and shadow colors, the amount of blur on the bevel, the angle of the bevel, the placement of the bevel, and a knockout effect. You can apply the filter to any display object (that is, objects that inherit from the DisplayObject class), such as MovieClip, SimpleButton, TextField, and Video objects, as well as to BitmapData objects.

To create a new filter, use the constructor new BevelFilter(). The use of filters depends on the object to which you apply the filter:

  • To apply filters to movie clips, text fields, buttons, and video, use the filters property (inherited from DisplayObject). Setting the filters property of an object does not modify the object, and you can remove the filter by clearing the filters property.
  • To apply filters to BitmapData objects, use the BitmapData.applyFilter() method. Calling applyFilter() on a BitmapData object takes the source BitmapData object and the filter object and generates a filtered image as a result.

If you apply a filter to a display object, the value of the cacheAsBitmap property of the object is set to true. If you remove all filters, the original value of cacheAsBitmap is restored.

This filter supports Stage scaling. However, it does not support general scaling, rotation, and skewing. If the object itself is scaled (if the scaleX and scaleY properties are not set to 100%), the filter is not scaled. It is scaled only when the user zooms in on the Stage.

A filter is not applied if the resulting image exceeds the maximum dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in width or height, and the total number of pixels cannot exceed 16,777,215 pixels. (So, if an image is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the limitation is 2,880 pixels in height and 2,880 pixels in width. If, for example, you zoom in on a large movie clip with a filter applied, the filter is turned off if the resulting image exceeds the maximum dimensions.

View the examples

Related API Elements



Public Properties
 PropertyDefined By
  angle : Number
The angle of the bevel.
BevelFilter
  blurX : Number
The amount of horizontal blur, in pixels.
BevelFilter
  blurY : Number
The amount of vertical blur, in pixels.
BevelFilter
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  distance : Number
The offset distance of the bevel.
BevelFilter
  highlightAlpha : Number
The alpha transparency value of the highlight color.
BevelFilter
  highlightColor : uint
The highlight color of the bevel.
BevelFilter
  knockout : Boolean
Applies a knockout effect (true), which effectively makes the object's fill transparent and reveals the background color of the document.
BevelFilter
  quality : int
The number of times to apply the filter.
BevelFilter
  shadowAlpha : Number
The alpha transparency value of the shadow color.
BevelFilter
  shadowColor : uint
The shadow color of the bevel.
BevelFilter
  strength : Number
The strength of the imprint or spread.
BevelFilter
  type : String
The placement of the bevel on the object.
BevelFilter
Public Methods
 MethodDefined By
  
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)
Initializes a new BevelFilter instance with the specified parameters.
BevelFilter
  
[override] Returns a copy of this filter object.
BevelFilter
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Property Detail

angle

property
angle:Number

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The angle of the bevel. Valid values are from 0 to 360°. The default value is 45°.

The angle value represents the angle of the theoretical light source falling on the object and determines the placement of the effect relative to the object. If the distance property is set to 0, the effect is not offset from the object and, therefore, the angle property has no effect.



Implementation
    public function get angle():Number
    public function set angle(value:Number):void

blurX

property 
blurX:Number

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The amount of horizontal blur, in pixels. Valid values are from 0 to 255 (floating point). The default value is 4. Values that are a power of 2 (such as 2, 4, 8, 16, and 32) are optimized to render more quickly than other values.



Implementation
    public function get blurX():Number
    public function set blurX(value:Number):void

blurY

property 
blurY:Number

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The amount of vertical blur, in pixels. Valid values are from 0 to 255 (floating point). The default value is 4. Values that are a power of 2 (such as 2, 4, 8, 16, and 32) are optimized to render more quickly than other values.



Implementation
    public function get blurY():Number
    public function set blurY(value:Number):void

distance

property 
distance:Number

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The offset distance of the bevel. Valid values are in pixels (floating point). The default is 4.



Implementation
    public function get distance():Number
    public function set distance(value:Number):void

highlightAlpha

property 
highlightAlpha:Number

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The alpha transparency value of the highlight color. The value is specified as a normalized value from 0 to 1. For example, .25 sets a transparency value of 25%. The default value is 1.



Implementation
    public function get highlightAlpha():Number
    public function set highlightAlpha(value:Number):void

highlightColor

property 
highlightColor:uint

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The highlight color of the bevel. Valid values are in hexadecimal format, 0xRRGGBB. The default is 0xFFFFFF.



Implementation
    public function get highlightColor():uint
    public function set highlightColor(value:uint):void

knockout

property 
knockout:Boolean

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

Applies a knockout effect (true), which effectively makes the object's fill transparent and reveals the background color of the document. The default value is false (no knockout).



Implementation
    public function get knockout():Boolean
    public function set knockout(value:Boolean):void

quality

property 
quality:int

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The number of times to apply the filter. The default value is BitmapFilterQuality.LOW, which is equivalent to applying the filter once. The value BitmapFilterQuality.MEDIUM applies the filter twice; the value BitmapFilterQuality.HIGH applies it three times. Filters with lower values are rendered more quickly.

For most applications, a quality value of low, medium, or high is sufficient. Although you can use additional numeric values up to 15 to achieve different effects, higher values are rendered more slowly. Instead of increasing the value of quality, you can often get a similar effect, and with faster rendering, by simply increasing the values of the blurX and blurY properties.

You can use the following BitmapFilterQuality constants to specify values of the quality property:

  • BitmapFilterQuality.LOW
  • BitmapFilterQuality.MEDIUM
  • BitmapFilterQuality.HIGH


Implementation
    public function get quality():int
    public function set quality(value:int):void

shadowAlpha

property 
shadowAlpha:Number

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The alpha transparency value of the shadow color. This value is specified as a normalized value from 0 to 1. For example, .25 sets a transparency value of 25%. The default is 1.



Implementation
    public function get shadowAlpha():Number
    public function set shadowAlpha(value:Number):void

shadowColor

property 
shadowColor:uint

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The shadow color of the bevel. Valid values are in hexadecimal format, 0xRRGGBB. The default is 0x000000.



Implementation
    public function get shadowColor():uint
    public function set shadowColor(value:uint):void

strength

property 
strength:Number

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The strength of the imprint or spread. Valid values are from 0 to 255. The larger the value, the more color is imprinted and the stronger the contrast between the bevel and the background. The default value is 1.



Implementation
    public function get strength():Number
    public function set strength(value:Number):void

type

property 
type:String

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

The placement of the bevel on the object. Inner and outer bevels are placed on the inner or outer edge; a full bevel is placed on the entire object. Valid values are the BitmapFilterType constants:

  • BitmapFilterType.INNER
  • BitmapFilterType.OUTER
  • BitmapFilterType.FULL


Implementation
    public function get type():String
    public function set type(value:String):void

Throws
TypeError — The string is null when being set
Constructor Detail

BevelFilter

()Constructor
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)

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

Initializes a new BevelFilter instance with the specified parameters.

Parameters
distance:Number (default = 4.0) — The offset distance of the bevel, in pixels (floating point).
 
angle:Number (default = 45) — The angle of the bevel, from 0 to 360 degrees.
 
highlightColor:uint (default = 0xFFFFFF) — The highlight color of the bevel, 0xRRGGBB.
 
highlightAlpha:Number (default = 1.0) — The alpha transparency value of the highlight color. Valid values are 0.0 to 1.0. For example, .25 sets a transparency value of 25%.
 
shadowColor:uint (default = 0x000000) — The shadow color of the bevel, 0xRRGGBB.
 
shadowAlpha:Number (default = 1.0) — The alpha transparency value of the shadow color. Valid values are 0.0 to 1.0. For example, .25 sets a transparency value of 25%.
 
blurX:Number (default = 4.0) — The amount of horizontal blur in pixels. Valid values are 0 to 255.0 (floating point).
 
blurY:Number (default = 4.0) — The amount of vertical blur in pixels. Valid values are 0 to 255.0 (floating point).
 
strength:Number (default = 1) — The strength of the imprint or spread. The higher the value, the more color is imprinted and the stronger the contrast between the bevel and the background. Valid values are 0 to 255.0.
 
quality:int (default = 1) — The quality of the bevel. Valid values are 0 to 15, but for most applications, you can use BitmapFilterQuality constants:
  • BitmapFilterQuality.LOW
  • BitmapFilterQuality.MEDIUM
  • BitmapFilterQuality.HIGH

Filters with lower values render faster. You can use the other available numeric values to achieve different effects.

 
type:String (default = "inner") — The type of bevel. Valid values are BitmapFilterType constants: BitmapFilterType.INNER, BitmapFilterType.OUTER, or BitmapFilterType.FULL.
 
knockout:Boolean (default = false) — Applies a knockout effect (true), which effectively makes the object's fill transparent and reveals the background color of the document.

Related API Elements

Method Detail

clone

()method
override public function clone():BitmapFilter

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9

Returns a copy of this filter object.

Returns
BitmapFilter — A new BevelFilter instance with all the same properties as the original BevelFilter instance.
BevelFilterExample.as

The following example creates a dark yellow square and applies a bevel with a bright yellow (0xFFFF00) highlight and a blue (0x0000FF) shadow. The general workflow for this example is as follows:
  1. Import the required classes.
  2. Declare three properties used in the draw() function, which draws the object to which the bevel filter is applied.
  3. Create the BevelFilterExample() constructor function, which does the following:
    • Calls the draw() function, which is declared later.
    • Declares a variable filter as a BitmapFilter object and assigns it to the return of a call to getBitmapFilter().
    • Creates a new Array object myFilters and adds filter to the array, and assigns myFilters to the filters property of BevelFilterExample object. This applies all filters found in myFilters, which in this case is only filter.
  4. Create the getBitmapFilter function to create and set properties for the filter.
  5. Create the draw() function. This function uses methods of the Graphics class, accessed through the graphics property of the Sprite class, to draw the square.
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();
        }
    }
}