meo-skia-canvas
    Preparing search index...

    Class ImageFilter

    ImageFilter for composable effects. Mirrors CanvasKit.ImageFilter API.

    🧪 Not in the HTML Canvas standard.

    Index
    • Create an image filter of the given kind.

      The kind names the effect and the remaining arguments are the ones that kind takes, matching the Make method of the same name. Where those return null for arguments Skia rejects, the constructor throws instead.

      Most kinds end with an optional input filter, which is how they chain; omitting it reads from the layer being drawn.

      ctx.imageFilter = new ImageFilter("blur", 4, 4)
      

      Parameters

      Returns ImageFilter

      TypeError if the kind is unknown or the arguments describe no filter

    • Apply inner, then outer. See ImageFilter.MakeCompose.

      Parameters

      Returns ImageFilter

    • Gaussian blur. See ImageFilter.MakeBlur.

      Parameters

      • kind: "blur"
      • sigmaX: number
      • sigmaY: number
      • OptionaltileMode: "repeat" | "clamp" | "mirror" | "decal"
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Source plus its shadow. See ImageFilter.MakeDropShadow.

      Parameters

      • kind: "drop-shadow"
      • dx: number
      • dy: number
      • sigmaX: number
      • sigmaY: number
      • color: string | [number, number, number, number]
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • The shadow alone. See ImageFilter.MakeDropShadowOnly.

      Parameters

      • kind: "drop-shadow-only"
      • dx: number
      • dy: number
      • sigmaX: number
      • sigmaY: number
      • color: string | [number, number, number, number]
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Translate. See ImageFilter.MakeOffset.

      Parameters

      • kind: "offset"
      • dx: number
      • dy: number
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Morphological dilation. See ImageFilter.MakeDilate.

      Parameters

      • kind: "dilate"
      • radiusX: number
      • radiusY: number
      • Optionalinput: ImageFilter | null
      • Optionalcrop: [number, number, number, number] | null

        🧪 Bounds the kernel's domain as well as clipping the output.

      Returns ImageFilter

    • Morphological erosion. See ImageFilter.MakeErode.

      Parameters

      • kind: "erode"
      • radiusX: number
      • radiusY: number
      • Optionalinput: ImageFilter | null
      • Optionalcrop: [number, number, number, number] | null

        🧪 Bounds the kernel's domain as well as clipping the output.

      Returns ImageFilter

    • Draw several filters together. See ImageFilter.MakeMerge.

      Parameters

      Returns ImageFilter

    • Transparent black. See ImageFilter.MakeEmpty.

      Parameters

      • kind: "empty"

      Returns ImageFilter

    • Repeat a source rect across a destination. See ImageFilter.MakeTile.

      Parameters

      • kind: "tile"
      • src: [number, number, number, number]
      • dst: [number, number, number, number]
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Blend two filters. See ImageFilter.MakeBlend.

      Parameters

      Returns ImageFilter

    • k1fgbg + k2fg + k3bg + k4. See ImageFilter.MakeArithmetic.

      Parameters

      • kind: "arithmetic"
      • k1: number
      • k2: number
      • k3: number
      • k4: number
      • OptionalenforcePMColor: boolean
      • Optionalbackground: ImageFilter | null
      • Optionalforeground: ImageFilter | null

      Returns ImageFilter

    • Displace pixels by a map. See ImageFilter.MakeDisplacementMap.

      Parameters

      Returns ImageFilter

    • Convolution kernel. See ImageFilter.MakeMatrixConvolution.

      Parameters

      • kind: "matrix-convolution"
      • kernelSize: [number, number]
      • kernel: number[]
      • gain: number
      • bias: number
      • kernelOffset: [number, number]
      • OptionaltileMode: TileMode
      • OptionalconvolveAlpha: boolean
      • Optionalinput: ImageFilter | null
      • Optionalcrop: [number, number, number, number] | null

        🧪 Bounds the kernel's domain as well as clipping the output.

      Returns ImageFilter

    • Affine or 3x3 transform. See ImageFilter.MakeMatrixTransform.

      Parameters

      Returns ImageFilter

    • Fisheye lens. See ImageFilter.MakeMagnifier.

      Parameters

      • kind: "magnifier"
      • lensBounds: [number, number, number, number]
      • zoomAmount: number
      • inset: number
      • Optionalsampling: SamplingMode
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Restrict to a rect. See ImageFilter.MakeCrop.

      Parameters

      • kind: "crop"
      • rect: [number, number, number, number]
      • OptionaltileMode: TileMode
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Diffuse light from a direction. See ImageFilter.MakeDistantLitDiffuse.

      Parameters

      • kind: "distant-lit-diffuse"
      • direction: Point3
      • lightColor: string
      • surfaceScale: number
      • kd: number
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Diffuse light from a point. See ImageFilter.MakePointLitDiffuse.

      Parameters

      • kind: "point-lit-diffuse"
      • location: Point3
      • lightColor: string
      • surfaceScale: number
      • kd: number
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Diffuse light from a spot. See ImageFilter.MakeSpotLitDiffuse.

      Parameters

      • kind: "spot-lit-diffuse"
      • location: Point3
      • target: Point3
      • falloffExponent: number
      • cutoffAngle: number
      • lightColor: string
      • surfaceScale: number
      • kd: number
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Specular light from a direction. See ImageFilter.MakeDistantLitSpecular.

      Parameters

      • kind: "distant-lit-specular"
      • direction: Point3
      • lightColor: string
      • surfaceScale: number
      • ks: number
      • shininess: number
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Specular light from a point. See ImageFilter.MakePointLitSpecular.

      Parameters

      • kind: "point-lit-specular"
      • location: Point3
      • lightColor: string
      • surfaceScale: number
      • ks: number
      • shininess: number
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Specular light from a spot. See ImageFilter.MakeSpotLitSpecular.

      Parameters

      • kind: "spot-lit-specular"
      • location: Point3
      • target: Point3
      • falloffExponent: number
      • cutoffAngle: number
      • lightColor: string
      • surfaceScale: number
      • ks: number
      • shininess: number
      • Optionalinput: ImageFilter | null

      Returns ImageFilter

    • Mark filter as deleted. Use-after-delete throws Error.

      Returns void

    • Arithmetic blend: k1fgbg + k2fg + k3bg + k4.

      Parameters

      • k1: number

        coefficient for fg*bg

      • k2: number

        coefficient for fg

      • k3: number

        coefficient for bg

      • k4: number

        constant offset

      • OptionalenforcePMColor: boolean

        enforce premultiplied color (default true)

      • Optionalbackground: ImageFilter | null

        background filter (or null for source)

      • Optionalforeground: ImageFilter | null

        foreground filter (or null for source)

      Returns ImageFilter | null

    • Create blur ImageFilter.

      Parameters

      • sigmaX: number

        horizontal blur radius

      • sigmaY: number

        vertical blur radius

      • OptionaltileMode: "repeat" | "clamp" | "mirror" | "decal"

        edge behavior: "clamp" | "repeat" | "mirror" | "decal"

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      Returns ImageFilter | null

    • Create ImageFilter from ColorFilter.

      Parameters

      • colorFilter: ColorFilter

        The color filter to wrap

      • Optionalinput: ImageFilter | null

        Optional previous filter for chaining

      Returns ImageFilter | null

      ImageFilter or null on Skia internal failure

      Error if colorFilter has been deleted

    • Crop filter with optional tile mode.

      Parameters

      • rect: [number, number, number, number]

        [x, y, width, height] crop rectangle

      • OptionaltileMode: TileMode

        tile mode for pixels outside rect (default "decal")

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      Returns ImageFilter | null

    • Create morphological dilation ImageFilter.

      Parameters

      • radiusX: number

        horizontal radius

      • radiusY: number

        vertical radius

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      • Optionalcrop: [number, number, number, number] | null

        🧪 [x, y, width, height] bounding the kernel's domain as well as clipping the output, so the dilation stops spreading at the edge rather than spreading and then being cut. Not the same as composing a separate "crop" filter afterwards.

      Returns ImageFilter | null

      TypeError if crop is given and is not four finite numbers

    • Displacement map filter.

      Parameters

      • xChannel: ColorChannel

        color channel for x displacement ("R", "G", "B", "A")

      • yChannel: ColorChannel

        color channel for y displacement ("R", "G", "B", "A")

      • scale: number

        displacement scale

      • Optionaldisplacement: ImageFilter | null

        displacement map filter (or null for source)

      • Optionalcolor: ImageFilter | null

        color source filter (or null for source)

      Returns ImageFilter | null

    • Diffuse lighting from a distant light source.

      Parameters

      • direction: Point3

        [x, y, z] light direction

      • lightColor: string

        CSS color of the light

      • surfaceScale: number

        height scale factor

      • kd: number

        diffuse reflectance coefficient

      • Optionalinput: ImageFilter | null

        optional input filter (alpha as height map)

      Returns ImageFilter | null

    • Specular lighting from a distant light source.

      Parameters

      • direction: Point3

        [x, y, z] light direction

      • lightColor: string

        CSS color of the light

      • surfaceScale: number

        height scale factor

      • ks: number

        specular reflectance coefficient

      • shininess: number

        specular exponent

      • Optionalinput: ImageFilter | null

        optional input filter

      Returns ImageFilter | null

    • Create drop shadow ImageFilter.

      Parameters

      • dx: number

        shadow x offset

      • dy: number

        shadow y offset

      • sigmaX: number

        horizontal blur radius

      • sigmaY: number

        vertical blur radius

      • color: string | [number, number, number, number]

        CSS color string or [r,g,b,a] array (0-1 floats)

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      Returns ImageFilter | null

    • Create drop shadow ImageFilter (shadow only, no source image).

      Parameters

      • dx: number

        shadow x offset

      • dy: number

        shadow y offset

      • sigmaX: number

        horizontal blur radius

      • sigmaY: number

        vertical blur radius

      • color: string | [number, number, number, number]

        CSS color string or [r,g,b,a] array (0-1 floats)

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      Returns ImageFilter | null

    • A filter that produces no output.

      Empty means an empty result, not an absent filter: anything drawn through it disappears. Assign null to ctx.imageFilter to draw unfiltered.

      Returns ImageFilter

    • Create morphological erosion ImageFilter.

      Parameters

      • radiusX: number

        horizontal radius

      • radiusY: number

        vertical radius

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      • Optionalcrop: [number, number, number, number] | null

        🧪 [x, y, width, height] bounding the kernel's domain as well as clipping the output. See ImageFilter.MakeDilate.

      Returns ImageFilter | null

      TypeError if crop is given and is not four finite numbers

    • Magnifier (fisheye) effect.

      Parameters

      • lensBounds: [number, number, number, number]

        [x, y, width, height] of lens area

      • zoomAmount: number

        magnification factor

      • inset: number

        edge distortion width

      • Optionalsampling: SamplingMode

        sampling mode (default "linear")

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      Returns ImageFilter | null

    • Matrix convolution filter (e.g., sharpen, edge detect).

      Parameters

      • kernelSize: [number, number]

        [width, height] of kernel

      • kernel: number[]

        convolution kernel (width*height elements)

      • gain: number

        scale factor applied to result

      • bias: number

        bias added to result

      • kernelOffset: [number, number]

        [x, y] offset for kernel center

      • OptionaltileMode: TileMode

        tile mode for edge handling (default "decal")

      • OptionalconvolveAlpha: boolean

        whether to convolve alpha channel (default true)

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      • Optionalcrop: [number, number, number, number] | null

        🧪 [x, y, width, height] bounding the kernel's domain as well as clipping the output. See ImageFilter.MakeDilate.

      Returns ImageFilter | null

    • Apply a matrix transformation to the image.

      The two lengths are read in different orders, so they are not the same matrix written two ways. Six elements are [a, b, c, d, e, f] in canvas transform() order -- b and c are the skews, e and f the translation -- while nine are plain row-major. A uniform 2x scale is therefore [2, 0, 0, 2, 0, 0]; the row-major-looking [2, 0, 0, 0, 2, 0] sets the vertical scale to zero and Skia returns null.

      Parameters

      • matrix: number[]

        6 elements in transform() order, or 9 row-major

      • Optionalsampling: SamplingMode

        one of the four SamplingMode names (default "linear")

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      Returns ImageFilter | null

    • Create offset ImageFilter.

      Parameters

      • dx: number

        x offset

      • dy: number

        y offset

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      Returns ImageFilter | null

    • Diffuse lighting from a point light source.

      Parameters

      • location: Point3

        [x, y, z] light position

      • lightColor: string

        CSS color of the light

      • surfaceScale: number

        height scale factor

      • kd: number

        diffuse reflectance coefficient

      • Optionalinput: ImageFilter | null

        optional input filter

      Returns ImageFilter | null

    • Specular lighting from a point light source.

      Parameters

      • location: Point3

        [x, y, z] light position

      • lightColor: string

        CSS color of the light

      • surfaceScale: number

        height scale factor

      • ks: number

        specular reflectance coefficient

      • shininess: number

        specular exponent

      • Optionalinput: ImageFilter | null

        optional input filter

      Returns ImageFilter | null

    • Diffuse lighting from a spot light source.

      Parameters

      • location: Point3

        [x, y, z] light position

      • target: Point3

        [x, y, z] spot target

      • falloffExponent: number

        how sharply the light fades toward the edge of the cone

      • cutoffAngle: number

        the cone's half-angle, in degrees

      • lightColor: string

        CSS color of the light

      • surfaceScale: number

        height scale factor

      • kd: number

        diffuse reflectance coefficient

      • Optionalinput: ImageFilter | null

        optional input filter

      Returns ImageFilter | null

    • Specular lighting from a spot light source.

      Parameters

      • location: Point3

        [x, y, z] light position

      • target: Point3

        [x, y, z] spot target

      • falloffExponent: number

        how sharply the light fades toward the edge of the cone

      • cutoffAngle: number

        the cone's half-angle, in degrees

      • lightColor: string

        CSS color of the light

      • surfaceScale: number

        height scale factor

      • ks: number

        specular reflectance coefficient

      • shininess: number

        specular exponent

      • Optionalinput: ImageFilter | null

        optional input filter

      Returns ImageFilter | null

    • Create tile ImageFilter.

      Parameters

      • src: [number, number, number, number]

        source rect [x, y, width, height]

      • dst: [number, number, number, number]

        destination rect [x, y, width, height]

      • Optionalinput: ImageFilter | null

        optional input filter for chaining

      Returns ImageFilter | null