#

API Documentation for: NEXT
Show: Inherited Protected Private Deprecated

# Filter Class

Defined in: `Filter:39`
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:39`

- Index
- Methods

## Item Index

### Methods

- applyFilter
- clone
- getBounds
- initialize
- toString

## Methods

### `applyFilter`

(

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

)
Boolean

Defined in `applyFilter:94`

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:118`

Returns a clone of this Filter instance.

#### Returns:

Filter:

A clone of the current Filter instance.

### `getBounds`

() Rectangle

Defined in `getBounds:83`

Returns a rectangle with values indicating the margins required to draw the filter or null. For example, a filter that will extend the drawing area 4 pixels to the left, and 7 pixels to the right (but no pixels up or down) would return a rectangle with (x=-4, y=0, width=11, height=0).

#### Returns:

Rectangle:

a rectangle object indicating the margins required to draw the filter or null if the filter does not effect bounds.

### `initialize`

() protected

Defined in `initialize:75`

Initialization method.

### `toString`

() String

Defined in `toString:109`

Returns a string representation of this object.

#### Returns:

String:

a string representation of the instance.