Class: Convolute

fabric.Image.filters.Convolute

new Convolute()

Adapted from html5rocks article
Source:
See:
Examples

Sharpen filter

var filter = new fabric.Image.filters.Convolute({
  matrix: [ 0, -1,  0,
           -1,  5, -1,
            0, -1,  0 ]
});
object.filters.push(filter);
object.applyFilters();
canvas.renderAll();

Blur filter

var filter = new fabric.Image.filters.Convolute({
  matrix: [ 1/9, 1/9, 1/9,
            1/9, 1/9, 1/9,
            1/9, 1/9, 1/9 ]
});
object.filters.push(filter);
object.applyFilters();
canvas.renderAll();

Emboss filter

var filter = new fabric.Image.filters.Convolute({
  matrix: [ 1,   1,  1,
            1, 0.7, -1,
           -1,  -1, -1 ]
});
object.filters.push(filter);
object.applyFilters();
canvas.renderAll();

Emboss filter with opaqueness

var filter = new fabric.Image.filters.Convolute({
  opaque: true,
  matrix: [ 1,   1,  1,
            1, 0.7, -1,
           -1,  -1, -1 ]
});
object.filters.push(filter);
object.applyFilters();
canvas.renderAll();

Extends

Members

fragmentSource

Fragment source for the brightness program
Source:

type

Filter type
Overrides:
Default Value:
  • Convolute
Source:

Methods

applyTo(options)

Apply this filter to the input image data provided. Determines whether to use WebGL or Canvas2D based on the options.webgl flag.
Parameters:
Name Type Description
options Object
Properties
Name Type Description
passes Number The number of filters remaining to be executed
webgl Boolean Whether to use webgl to render the filter.
sourceTexture WebGLTexture The texture setup as the source to be filtered.
targetTexture WebGLTexture The texture where filtered output should be drawn.
context WebGLRenderingContext The GL context used for rendering.
programCache Object A map of compiled shader programs, keyed by filter type.
Inherited From:
Source:

applyTo2d(options)

Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.
Parameters:
Name Type Description
options Object
Properties
Name Type Description
imageData ImageData The Uint8ClampedArray to be filtered.
Source:

applyToWebGL(options)

Apply this filter using webgl.
Parameters:
Name Type Description
options Object
Properties
Name Type Description
passes Number The number of filters remaining to be executed
webgl Boolean Whether to use webgl to render the filter.
originalTexture WebGLTexture The texture of the original input image.
sourceTexture WebGLTexture The texture setup as the source to be filtered.
targetTexture WebGLTexture The texture where filtered output should be drawn.
context WebGLRenderingContext The GL context used for rendering.
programCache Object A map of compiled shader programs, keyed by filter type.
Inherited From:
Source:

createHelpLayer()

If needed by a 2d filter, this functions can create an helper canvas to be used remember that options.targetCanvas is available for use till end of chain.
Inherited From:
Source:

createProgram(gl, fragmentSource, vertexSource)

Compile this filter's shader program.
Parameters:
Name Type Description
gl WebGLRenderingContext The GL canvas context to use for shader compilation.
fragmentSource String fragmentShader source for compilation
vertexSource String vertexShader source for compilation
Inherited From:
Source:

getAttributeLocations(gl, program) → {Object}

Return a map of attribute names to WebGLAttributeLocation objects.
Parameters:
Name Type Description
gl WebGLRenderingContext The canvas context used to compile the shader program.
program WebGLShaderProgram The shader program from which to take attribute locations.
Inherited From:
Source:
Returns:
A map of attribute names to attribute locations.
Type
Object

getUniformLocations(gl, program)

Return WebGL uniform locations for this filter's shader.
Parameters:
Name Type Description
gl WebGLRenderingContext The GL canvas context used to compile this filter's shader.
program WebGLShaderProgram This filter's compiled shader program.
Overrides:
Source:

initialize(optionsopt)

Constructor
Parameters:
Name Type Attributes Description
options Object <optional>
Options object
Inherited From:
Source:

isNeutralState(options)

Generic isNeutral implementation for one parameter based filters. Used only in image applyFilters to discard filters that will not have an effect on the image Other filters may need their own version ( ColorMatrix, HueRotation, gamma, ComposedFilter )
Parameters:
Name Type Description
options Object
Inherited From:
Source:

retrieveShader(options)

Retrieves the cached shader.
Parameters:
Name Type Description
options Object
Properties
Name Type Description
context WebGLRenderingContext The GL context used for rendering.
programCache Object A map of compiled shader programs, keyed by filter type.
Overrides:
Source:

sendAttributeData(gl, attributeLocations)

Send attribute data from this filter to its shader program on the GPU.
Parameters:
Name Type Description
gl WebGLRenderingContext The canvas context used to compile the shader program.
attributeLocations Object A map of shader attribute names to their locations.
Inherited From:
Source:

sendUniformData(gl, uniformLocations)

Send data from this filter to its shader program's uniforms.
Parameters:
Name Type Description
gl WebGLRenderingContext The GL canvas context used to compile this filter's shader.
uniformLocations Object A map of string uniform names to WebGLUniformLocation objects
Overrides:
Source:

setOptions(optionsopt)

Sets filter's properties from options
Parameters:
Name Type Attributes Description
options Object <optional>
Options object
Inherited From:
Source:

toJSON() → {Object}

Returns a JSON representation of an instance
Inherited From:
Source:
Returns:
JSON
Type
Object

toObject() → {Object}

Returns object representation of an instance
Overrides:
Source:
Returns:
Object representation of an instance
Type
Object