#

API Documentation for: NEXT
Show: Inherited Protected Private Deprecated

# BlurFilter Class

Extends Filter
Defined in: `BlurFilter:43`
Module: EaselJS

Applies a box blur to DisplayObjects in context 2D and a Gaussian blur in webgl. Note that this filter is fairly intensive, particularly if the quality is set higher than 1.

#### Example

This example creates a red circle, and then applies a 5 pixel blur to it. It uses the getBounds method to account for the spread that the blur causes.

     var shape = new createjs.Shape().set({x:100,y:100});
     shape.graphics.beginFill("#ff0000").drawCircle(0,0,50);

     var blurFilter = new createjs.BlurFilter(5, 5, 1);
     shape.filters = [blurFilter];
     var bounds = blurFilter.getBounds();

     shape.cache(-50+bounds.x, -50+bounds.y, 100+bounds.width, 100+bounds.height);

See Filter for an more information on applying filters.

## Constructor

### `BlurFilter`

(

- `[blurX=0]`
- `[blurY=0]`
- `[quality=1]`

)

Defined in `BlurFilter:43`

#### Parameters:

- `[blurX=0]` Number optional

  The horizontal blur radius in pixels.

- `[blurY=0]` Number optional

  The vertical blur radius in pixels.

- `[quality=1]` Number optional

  The number of blur iterations.

- Index
- Methods
- Properties

## Item Index

### Methods

- _applyFilter
- _getTable
- _updateShader
- applyFilter
- clone
- getBounds
- shaderParamSetup
- toString

### Properties

- _multiPass
- blurX
- blurY
- FRAG_SHADER
- MUL_TABLE static
- quality
- SHG_TABLE static
- usesContext
- VTX_SHADER

## Methods

### `_applyFilter`

(

- `imageData`

)
Boolean

Inherited from Filter: `_applyFilter:180`

#### Parameters:

- `imageData` ImageData

  Target ImageData instance.

#### Returns:

Boolean:

### `_getTable`

(

- `spread`

)
Array

Defined in `_getTable:177`

Internal lookup function to create gaussian distribution.

#### Parameters:

- `spread` Number

  How many steps in the curve.

#### Returns:

Array:

An array with Math.ceil(spread*2) entries with appropriately distributed weights.

### `_updateShader`

()

Defined in `_updateShader:199`

Internal update function to create shader properties.

### `applyFilter`

(

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

)
Boolean

Inherited from Filter: `applyFilter:131`

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

Inherited from Filter: `clone:170`

Returns a clone of this Filter instance.

#### Returns:

Filter:

A clone of the current Filter instance.

### `getBounds`

(

- `[rect]`

)
Rectangle

Inherited from Filter: `getBounds:111`

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.

### `shaderParamSetup`

(

- `gl`
- `stage`
- `shaderProgram`

)

Inherited from Filter: `shaderParamSetup:121`

Assign any unique uniforms or other setup functionality here.

#### Parameters:

- `gl` WebGLContext

  The context associated with the stage performing the render.

- `stage` StageGL

  The stage instance that will be rendering.

- `shaderProgram` ShaderProgram

  The compiled shader that is going to be used to perform the render.

### `toString`

() String

Inherited from Filter: `toString:161`

Returns a string representation of this object.

#### Returns:

String:

a string representation of the instance.

## Properties

### `_multiPass`

Filter private

Inherited from Filter: `_multiPass:79`

Another filter that is required to act as part of this filter and created and managed under the hood.

Default: null

### `blurX`

Number

Defined in `blurX:72`

Horizontal blur radius in pixels

Default: 0

### `blurY`

Number

Defined in `blurY:82`

Vertical blur radius in pixels

Default: 0

### `FRAG_SHADER`

String readonly

Inherited from Filter: `FRAG_SHADER:98`

Pre-processed template shader code. It will be parsed before being fed in into the shader compiler. This should be based upon StageGL.SHADER_FRAGMENT_BODY_REGULAR

### `MUL_TABLE`

Array protected static

Defined in `MUL_TABLE:231`

Array of multiply values for blur calculations.

### `quality`

Number

Defined in `quality:92`

Number of blur iterations. For example, a value of 1 will produce a rough blur. A value of 2 will produce a smoother blur, but take twice as long to run.

Default: 1

### `SHG_TABLE`

Array protected static

Defined in `SHG_TABLE:240`

Array of shift values for blur calculations.

### `usesContext`

Boolean

Inherited from Filter: `usesContext:71`

A flag stating that this filter uses a context draw mode and cannot be batched into imageData processing.

Default: false

### `VTX_SHADER`

String readonly

Inherited from Filter: `VTX_SHADER:88`

Pre-processed template shader code. It will be parsed before being fed in into the shader compiler. This should be based upon StageGL.SHADER_VERTEX_BODY_REGULAR