flash.filters

# DropShadowFilter - AS3

Package | flash.filters
Class | public final class DropShadowFilter
Inheritance | DropShadowFilter BitmapFilter Object

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

The DropShadowFilter class lets you add a drop shadow to display objects. The shadow algorithm is based on the same box filter that the blur filter uses. You have several options for the style of the drop shadow, including inner or outer shadow and knockout mode. 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.

The use of filters depends on the object to which you apply the filter:

- To apply filters to display objects 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 display object is set to `true`. If you clear 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 `scaleX` and `scaleY` are set to a value other than 1.0), 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

flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | alpha : Number The alpha transparency value for the shadow color. | DropShadowFilter
|  | angle : Number The angle of the shadow. | DropShadowFilter
|  | blurX : Number The amount of horizontal blur. | DropShadowFilter
|  | blurY : Number The amount of vertical blur. | DropShadowFilter
|  | color : uint The color of the shadow. | DropShadowFilter
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | distance : Number The offset distance for the shadow, in pixels. | DropShadowFilter
|  | hideObject : Boolean Indicates whether or not the object is hidden. | DropShadowFilter
|  | inner : Boolean Indicates whether or not the shadow is an inner shadow. | DropShadowFilter
|  | knockout : Boolean Applies a knockout effect (true), which effectively makes the object's fill transparent and reveals the background color of the document. | DropShadowFilter
|  | quality : int The number of times to apply the filter. | DropShadowFilter
|  | strength : Number The strength of the imprint or spread. | DropShadowFilter

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | DropShadowFilter(distance:Number = 4.0, angle:Number = 45, color:uint = 0, alpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1.0, quality:int = 1, inner:Boolean = false, knockout:Boolean = false, hideObject:Boolean = false) Creates a new DropShadowFilter instance with the specified parameters. | DropShadowFilter
|  | clone():BitmapFilter [override] Returns a copy of this filter object. | DropShadowFilter
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

### alpha

property

`alpha:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

The alpha transparency value for the shadow color. Valid values are 0.0 to 1.0. For example, .25 sets a transparency value of 25%. The default value is 1.0.

Implementation
`public function get alpha():Number`
`public function set alpha(value:Number):void`

### angle

property

`angle:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

The angle of the shadow. Valid values are 0 to 360 degrees (floating point). The default value is 45.

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. Valid values are 0 to 255.0 (floating point). The default value is 4.0.

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. Valid values are 0 to 255.0 (floating point). The default value is 4.0.

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

### color

property

`color:uint`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

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

Implementation
`public function get color():uint`
`public function set color(value:uint):void`

### distance

property

`distance:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

The offset distance for the shadow, in pixels. The default value is 4.0 (floating point).

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

### hideObject

property

`hideObject:Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

Indicates whether or not the object is hidden. The value `true` indicates that the object itself is not drawn; only the shadow is visible. The default is `false` (the object is shown).

Implementation
`public function get hideObject():Boolean`
`public function set hideObject(value:Boolean):void`

### inner

property

`inner:Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

Indicates whether or not the shadow is an inner shadow. The value `true` indicates an inner shadow. The default is `false`, an outer shadow (a shadow around the outer edges of the object).

Implementation
`public function get inner():Boolean`
`public function set inner(value:Boolean):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 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.

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

Related API Elements

flash.filters.BitmapFilterQuality

### strength

property

`strength:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

The strength of the imprint or spread. The higher the value, the more color is imprinted and the stronger the contrast between the shadow and the background. Valid values are from 0 to 255.0. The default is 1.0.

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

### DropShadowFilter

()
Constructor

`public function DropShadowFilter(distance:Number = 4.0, angle:Number = 45, color:uint = 0, alpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1.0, quality:int = 1, inner:Boolean = false, knockout:Boolean = false, hideObject:Boolean = false)`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

Creates a new DropShadowFilter instance with the specified parameters.

Parameters

| `distance:Number` (default = `4.0`)`` — Offset distance for the shadow, in pixels.
| `angle:Number` (default = `45`)`` — Angle of the shadow, 0 to 360 degrees (floating point).
| `color:uint` (default = `0`)`` — Color of the shadow, in hexadecimal format 0xRRGGBB. The default value is 0x000000.
| `alpha:Number` (default = `1.0`)`` — Alpha transparency value for 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`)`` — Amount of horizontal blur. Valid values are 0 to 255.0 (floating point).
| `blurY:Number` (default = `4.0`)`` — Amount of vertical blur. Valid values are 0 to 255.0 (floating point).
| `strength:Number` (default = `1.0`)`` — The strength of the imprint or spread. The higher the value, the more color is imprinted and the stronger the contrast between the shadow and the background. Valid values are 0 to 255.0.
| `quality:int` (default = `1`)`` — The number of times to apply the filter. Use the BitmapFilterQuality constants:

- `BitmapFilterQuality.LOW`
- `BitmapFilterQuality.MEDIUM`
- `BitmapFilterQuality.HIGH`

For more information about these values, see the `quality` property description.

| `inner:Boolean` (default = `false`)`` — Indicates whether or not the shadow is an inner shadow. A value of `true` specifies an inner shadow. A value of `false` specifies an outer shadow (a shadow around the outer edges of the object).
| `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.
| `hideObject:Boolean` (default = `false`)`` — Indicates whether or not the object is hidden. A value of `true` indicates that the object itself is not drawn; only the shadow is visible.

Related API Elements

flash.filters.BitmapFilterQuality
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 DropShadowFilter instance with all the properties of the original DropShadowFilter instance.

Examples How to use this example
DropShadowFilterExample.as
The following example creates a yellow square and applies a drop shadow to it. The general workflow of this example is as follows:

1. Declare three properties that are used to draw the square to which the filter is applied.
2. Create the constructor function. The constructor calls the `draw()` method, which uses methods of the Graphics class accessed through the `graphics` property of Sprite to draw an orange square.
3. In the constructor, declare a variable `filter` as a BitmapFilter object and assign it to the return value of a call to `getBitmapFilter()`. The `getBitmapFilter()` method defines the drop shadow filter used.
4. Create a new Array object `myFilters` and add `filter` to the array. Assign the `myFilters` array to the `filters` property of the DropShadowFilterExample object. This applies all filters found in `myFilters`, which in this case is only `filter`.

Copy

    package {
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.MouseEvent;
        import flash.filters.BitmapFilter;
        import flash.filters.BitmapFilterQuality;
        import flash.filters.DropShadowFilter;

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

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

            private function getBitmapFilter():BitmapFilter {
                var color:Number = 0x000000;
                var angle:Number = 45;
                var alpha:Number = 0.8;
                var blurX:Number = 8;
                var blurY:Number = 8;
                var distance:Number = 15;
                var strength:Number = 0.65;
                var inner:Boolean = false;
                var knockout:Boolean = false;
                var quality:Number = BitmapFilterQuality.HIGH;
                return new DropShadowFilter(distance,
                                            angle,
                                            color,
                                            alpha,
                                            blurX,
                                            blurY,
                                            strength,
                                            quality,
                                            inner,
                                            knockout);
            }

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

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00