BlendImage
Defined in: src/filters/BlendImage.ts:41
Image Blend filter class
Example
Extends
BaseFilter
<"BlendImage"
,BlendImageOwnProps
>
Constructors
new BlendImage()
new BlendImage(
options
?):BlendImage
Defined in: src/filters/BaseFilter.ts:57
Constructor
Parameters
options?
object
& Partial
<BlendImageOwnProps
> & Record
<string
, any
> = {}
Options object
Returns
Inherited from
Properties
alpha
alpha:
number
Defined in: src/filters/BlendImage.ts:62
alpha value. represent the strength of the blend image operation. not implemented.
image
image:
FabricImage
Defined in: src/filters/BlendImage.ts:45
Image to make the blend operation with.
mode
mode:
TBlendImageMode
Defined in: src/filters/BlendImage.ts:56
Blend mode for the filter: either ‘multiply’ or ‘mask’. ‘multiply’ will multiply the values of each channel (R, G, B, and A) of the filter image by their corresponding values in the base image. ‘mask’ will only look at the alpha channel of the filter image, and apply those values to the base image’s alpha channel.
Default
defaults
static
defaults:BlendImageOwnProps
=blendImageDefaultValues
Defined in: src/filters/BlendImage.ts:66
Overrides
type
static
type:string
='BlendImage'
Defined in: src/filters/BlendImage.ts:64
The class type. Used to identify which class this is.
This is used for serialization purposes and internally it can be used
to identify classes. As a developer you could use instance of Class
but to avoid importing all the code and blocking tree shaking we try
to avoid doing that.
Overrides
uniformLocations
static
uniformLocations:string
[]
Defined in: src/filters/BlendImage.ts:68
Contains the uniform locations for the fragment shader. uStepW and uStepH are handled by the BaseFilter, each filter class needs to specify all the one that are needed
Overrides
Accessors
type
Get Signature
get type():
Name
Defined in: src/filters/BaseFilter.ts:31
Filter type
Default
Returns
Name
Inherited from
Methods
_setupFrameBuffer()
_setupFrameBuffer(
options
):void
Defined in: src/filters/BaseFilter.ts:205
Parameters
options
Returns
void
Inherited from
_swapTextures()
_swapTextures(
options
):void
Defined in: src/filters/BaseFilter.ts:232
Parameters
options
Returns
void
Inherited from
applyTo()
applyTo(
options
):void
Defined in: src/filters/BaseFilter.ts:265
Apply this filter to the input image data provided.
Determines whether to use WebGL or Canvas2D based on the options.webgl flag.
Parameters
options
TWebGLPipelineState
| T2DPipelineState
Returns
void
Inherited from
applyTo2d()
applyTo2d(
options
):void
Defined in: src/filters/BlendImage.ts:122
Apply the Blend operation to a Uint8ClampedArray representing the pixels of an image.
Parameters
options
Returns
void
Overrides
applyToWebGL()
applyToWebGL(
options
):void
Defined in: src/filters/BlendImage.ts:82
Apply this filter using webgl.
Parameters
options
Returns
void
Overrides
bindAdditionalTexture()
bindAdditionalTexture(
gl
,texture
,textureUnit
):void
Defined in: src/filters/BaseFilter.ts:334
Parameters
gl
WebGLRenderingContext
texture
WebGLTexture
textureUnit
number
Returns
void
Inherited from
BaseFilter
.bindAdditionalTexture
calculateMatrix()
calculateMatrix():
number
[]
Defined in: src/filters/BlendImage.ts:100
Calculate a transformMatrix to adapt the image to blend over
Returns
number
[]
createHelpLayer()
createHelpLayer(
options
):void
Defined in: src/filters/BaseFilter.ts:370
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.
Parameters
options
Returns
void
Inherited from
createProgram()
createProgram(
gl
,fragmentSource
,vertexSource
):object
Defined in: src/filters/BaseFilter.ts:83
Compile this filter’s shader program.
Parameters
gl
WebGLRenderingContext
The GL canvas context to use for shader compilation.
fragmentSource
string
= ...
fragmentShader source for compilation
vertexSource
string
= ...
vertexShader source for compilation
Returns
object
attributeLocations
attributeLocations:
TWebGLAttributeLocationMap
program
program:
WebGLProgram
uniformLocations
uniformLocations:
TWebGLUniformLocationMap
Inherited from
createTexture()
createTexture(
backend
,image
):null
|WebGLTexture
Defined in: src/filters/BlendImage.ts:90
Parameters
backend
image
Returns
null
| WebGLTexture
getAttributeLocations()
getAttributeLocations(
gl
,program
):TWebGLAttributeLocationMap
Defined in: src/filters/BaseFilter.ts:153
Return a map of attribute names to WebGLAttributeLocation objects.
Parameters
gl
WebGLRenderingContext
The canvas context used to compile the shader program.
program
WebGLProgram
The shader program from which to take attribute locations.
Returns
A map of attribute names to attribute locations.
Inherited from
BaseFilter
.getAttributeLocations
getCacheKey()
getCacheKey():
string
Defined in: src/filters/BlendImage.ts:70
Returns a string that represent the current selected shader code for the filter. Used to force recompilation when parameters change or to retrieve the shader from cache
Returns
string
Overrides
getFragmentSource()
getFragmentSource():
string
Defined in: src/filters/BlendImage.ts:74
Returns
string
Overrides
BaseFilter.getFragmentSource
getUniformLocations()
getUniformLocations(
gl
,program
):TWebGLUniformLocationMap
Defined in: src/filters/BaseFilter.ts:169
Return a map of uniform names to WebGLUniformLocation objects.
Parameters
gl
WebGLRenderingContext
The canvas context used to compile the shader program.
program
WebGLProgram
The shader program from which to take uniform locations.
Returns
A map of uniform names to uniform locations.
Inherited from
BaseFilter
.getUniformLocations
getVertexSource()
getVertexSource():
string
Defined in: src/filters/BlendImage.ts:78
Returns
string
Overrides
isNeutralState()
isNeutralState(
options
?):boolean
Defined in: src/filters/BaseFilter.ts:248
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
options?
any
Returns
boolean
Inherited from
retrieveShader()
retrieveShader(
options
):TWebGLProgramCacheItem
Defined in: src/filters/BaseFilter.ts:295
Retrieves the cached shader.
Parameters
options
Returns
the compiled program shader
Inherited from
sendAttributeData()
sendAttributeData(
gl
,attributeLocations
,aPositionData
):void
Defined in: src/filters/BaseFilter.ts:192
Send attribute data from this filter to its shader program on the GPU.
Parameters
gl
WebGLRenderingContext
The canvas context used to compile the shader program.
attributeLocations
Record
<string
, number
>
A map of shader attribute names to their locations.
aPositionData
Float32Array
Returns
void
Inherited from
sendUniformData()
sendUniformData(
gl
,uniformLocations
):void
Defined in: src/filters/BlendImage.ts:179
Send data from this filter to its shader program’s uniforms.
Parameters
gl
WebGLRenderingContext
The GL canvas context used to compile this filter’s shader.
uniformLocations
A map of string uniform names to WebGLUniformLocation objects
Returns
void
Overrides
toJSON()
toJSON():
object
&BlendImageOwnProps
Defined in: src/filters/BaseFilter.ts:407
Returns a JSON representation of an instance
Returns
object
& BlendImageOwnProps
JSON
Inherited from
toObject()
toObject():
object
&BlendImageOwnProps
Defined in: src/filters/BlendImage.ts:194
Returns object representation of an instance TODO: Handle the possibility of missing image better. As of now a BlendImage filter without image can’t be used with fromObject
Returns
object
& BlendImageOwnProps
Object representation of an instance
Overrides
unbindAdditionalTexture()
unbindAdditionalTexture(
gl
,textureUnit
):void
Defined in: src/filters/BaseFilter.ts:345
Parameters
gl
WebGLRenderingContext
textureUnit
number
Returns
void
Inherited from
BaseFilter
.unbindAdditionalTexture
fromObject()
static
fromObject(object
,options
?):Promise
<BaseFilter
<"BlendImage"
,BlendImageOwnProps
,BlendImageOwnProps
>>
Defined in: src/filters/BlendImage.ts:212
Create filter instance from an object representation
Parameters
object
Record
<string
, any
>
Object to create an instance from
options?
signal
AbortSignal
handle aborting image loading, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
Returns
Promise
<BaseFilter
<"BlendImage"
, BlendImageOwnProps
, BlendImageOwnProps
>>