#

API Documentation for: NEXT
Show: Inherited Protected Private Deprecated

# Filter Class

Defined in: `Filter:41`
Module: EaselJS

Base class that all filters should inherit from. Filters need to be applied to objects that have been cached using the cache method. If an object changes, please cache it again, or use updateCache. Note that the filters must be applied before caching.

#### Example

     myInstance.filters = [
         new createjs.ColorFilter(0, 0, 0, 1, 255, 0, 0),
         new createjs.BlurFilter(5, 5, 10)
     ];
     myInstance.cache(0,0, 100, 100);

Note that each filter can implement a getBounds method, which returns the margins that need to be applied in order to fully display the filter. For example, the BlurFilter will cause an object to feather outwards, resulting in a margin around the shape.

#### EaselJS Filters

EaselJS comes with a number of pre-built filters. Note that individual filters are not compiled into the minified version of EaselJS. To use them, you must include them manually in the HTML.

- AlphaMapFilter : Map a greyscale image to the alpha channel of a display object
- AlphaMaskFilter: Map an image's alpha channel to the alpha channel of a display object
- BlurFilter: Apply vertical and horizontal blur to a display object
- ColorFilter: Color transform a display object
- ColorMatrixFilter: Transform an image using a ColorMatrix

## Constructor

### `Filter`

()

Defined in `Filter:41`

- Index
- Methods

## Item Index

### Methods

- _applyFilter
- applyFilter
- clone
- getBounds
- initialize deprecated
- toString

## Methods

### `_applyFilter`

(

- `imageData`

)
Boolean

Defined in `_applyFilter:148`

#### Parameters:

- `imageData` ImageData

  Target ImageData instance.

#### Returns:

Boolean:

### `applyFilter`

(

- `ctx`
- `x`
- `y`
- `width`
- `height`
- `[targetCtx]`
- `[targetX]`
- `[targetY]`

)
Boolean

Defined in `applyFilter:99`

Applies the filter to the specified context.

#### Parameters:

- `ctx` CanvasRenderingContext2D

  The 2D context to use as the source.

- `x` Number

  The x position to use for the source rect.

- `y` Number

  The y position to use for the source rect.

- `width` Number

  The width to use for the source rect.

- `height` Number

  The height to use for the source rect.

- `[targetCtx]` CanvasRenderingContext2D optional

  The 2D context to draw the result to. Defaults to the context passed to ctx.

- `[targetX]` Number optional

  The x position to draw the result to. Defaults to the value passed to x.

- `[targetY]` Number optional

  The y position to draw the result to. Defaults to the value passed to y.

#### Returns:

Boolean:

If the filter was applied successfully.

### `clone`

() Filter

Defined in `clone:138`

Returns a clone of this Filter instance.

#### Returns:

Filter:

A clone of the current Filter instance.

### `getBounds`

(

- `[rect]`

)
Rectangle

Defined in `getBounds:89`

Provides padding values for this filter. That is, how much the filter will extend the visual bounds of an object it is applied to.

#### Parameters:

- `[rect]` Rectangle optional

  If specified, the provided Rectangle instance will be expanded by the padding amounts and returned.

#### Returns:

Rectangle:

If a `rect` param was provided, it is returned. If not, either a new rectangle with the padding values, or null if no padding is required for this filter.

### `initialize`

() deprecated protected

Defined in `initialize:74`

REMOVED. Removed in favor of using `MySuperClass_constructor`. See extend and promote for details.

There is an inheritance tutorial distributed with EaselJS in /tutorials/Inheritance.

### `toString`

() String

Defined in `toString:129`

Returns a string representation of this object.

#### Returns:

String:

a string representation of the instance.