Skip to content
Apexify.jsDocs
Apexify.js version v5.4.5

ApexPainter member

ApexPainter.animate

Published ApexPainter.animate method.

apexify.jsCURRENTnode22node24node26
Source: lib-next/apex-painter/main.ts (opens in a new tab)

Signature

TypeScript
(frames: Frame[], defaultDuration: number, defaultWidth?: number, defaultHeight?: number, options?: import("../gif/animate-frames.js").AnimateOptions, painterOpts?: PainterAssetRefsOptions) => Promise<Buffer[] | undefined>

Parameters

frames

Frame[]

defaultDuration

number

defaultWidth?

number

defaultHeight?

number

Options

OptionTypeContractAllowed valuesRuntime & capabilities
frames
frames.backgroundColorPublished frames.backgroundColor option.stringOptionalDefault——node22 · node24 · node26
frames.blendModePublished frames.blendMode option.GlobalCompositeOperationOptionalDefault—
26 values
"color" "color-burn" "color-dodge" "copy" "darken" "destination-atop" "destination-in" "destination-out" "destination-over" "difference" "exclusion" "hard-light" "hue" "lighten" "lighter" "luminosity" "multiply" "overlay" "saturation" "screen" "soft-light" "source-atop" "source-in" "source-out" "source-over" "xor"
node22 · node24 · node26
frames.durationPublished frames.duration option.numberOptionalDefault——node22 · node24 · node26
frames.gradientPublished frames.gradient option.GradientConfigOptionalDefault——node22 · node24 · node26
frames.gradient.anglePublished frames.gradient.angle option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.centerXPublished frames.gradient.centerX option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.centerYPublished frames.gradient.centerY option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.colorsPublished frames.gradient.colors option.{ stop: number; color: string; }[]RequiredDefaultRequired—node22 · node24 · node26
frames.gradient.colors.colorPublished frames.gradient.colors.color option.stringRequiredDefaultRequired—node22 · node24 · node26
frames.gradient.colors.stopPublished frames.gradient.colors.stop option.numberRequiredDefaultRequired—node22 · node24 · node26
frames.gradient.endRadiusPublished frames.gradient.endRadius option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.endXPublished frames.gradient.endX option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.endYPublished frames.gradient.endY option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.repeatPublished frames.gradient.repeat option."repeat" | "reflect" | "no-repeat"OptionalDefault—"repeat" "reflect" "no-repeat"node22 · node24 · node26
frames.gradient.startAnglePublished frames.gradient.startAngle option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.startRadiusPublished frames.gradient.startRadius option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.startXPublished frames.gradient.startX option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.startYPublished frames.gradient.startY option.numberOptionalDefault——node22 · node24 · node26
frames.gradient.typePublished frames.gradient.type option."linear" | "radial" | "conic"RequiredDefaultRequired"linear" "radial" "conic"node22 · node24 · node26
frames.heightPublished frames.height option.numberOptionalDefault——node22 · node24 · node26
frames.onDrawCustomPublished frames.onDrawCustom option.(ctx: SKRSContext2D, canvas: Canvas) => voidOptionalDefault——node22 · node24 · node26
frames.patternPublished frames.pattern option.{ source: string; repeat?: "repeat" | "no-repeat" | "repeat-x" | "repeat-y"; }OptionalDefault——node22 · node24 · node26
frames.pattern.repeatPublished frames.pattern.repeat option."repeat" | "no-repeat" | "repeat-x" | "repeat-y"OptionalDefault—"repeat" "no-repeat" "repeat-x" "repeat-y"node22 · node24 · node26
frames.pattern.sourcePublished frames.pattern.source option.stringRequiredDefaultRequired—node22 · node24 · node26
frames.sourcePublished frames.source option.stringOptionalDefault——node22 · node24 · node26
frames.transformationsPublished frames.transformations option.{ scaleX?: number; scaleY?: number; rotate?: number; translateX?: number; translateY?: number; }OptionalDefault——node22 · node24 · node26
frames.transformations.rotatePublished frames.transformations.rotate option.numberOptionalDefault——node22 · node24 · node26
frames.transformations.scaleXPublished frames.transformations.scaleX option.numberOptionalDefault——node22 · node24 · node26
frames.transformations.scaleYPublished frames.transformations.scaleY option.numberOptionalDefault——node22 · node24 · node26
frames.transformations.translateXPublished frames.transformations.translateX option.numberOptionalDefault——node22 · node24 · node26
frames.transformations.translateYPublished frames.transformations.translateY option.numberOptionalDefault——node22 · node24 · node26
frames.widthPublished frames.width option.numberOptionalDefault——node22 · node24 · node26
options
options.gifPublished options.gif option.booleanOptionalDefault—false truenode22 · node24 · node26
options.gifPathPublished options.gifPath option.stringOptionalDefault——node22 · node24 · node26
options.onEndPublished options.onEnd option.() => voidOptionalDefault——node22 · node24 · node26
options.onFramePublished options.onFrame option.(index: number) => voidOptionalDefault——node22 · node24 · node26
options.onStartPublished options.onStart option.() => voidOptionalDefault——node22 · node24 · node26
options.signalPublished options.signal option.AbortSignalOptionalDefault——node22 · node24 · node26
painterOpts
painterOpts.resolveAssetRefsWhen **true**, string leaves in the payload are resolved via {@link AssetManager.resolve } (same rules as {@link ApexPainter.prepareForRender } / {@link ApexPainter.renderScene }).booleanOptionalDefault—false truenode22 · node24 · node26

Published frames.backgroundColor option.

Type
string
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.blendMode option.

Type
GlobalCompositeOperation
Default
—
Allowed
26 values
"color" "color-burn" "color-dodge" "copy" "darken" "destination-atop" "destination-in" "destination-out" "destination-over" "difference" "exclusion" "hard-light" "hue" "lighten" "lighter" "luminosity" "multiply" "overlay" "saturation" "screen" "soft-light" "source-atop" "source-in" "source-out" "source-over" "xor"
Runtime
node22, node24, node26

Published frames.duration option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient option.

Type
GradientConfig
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.angle option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.centerX option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.centerY option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.colors option.

Type
{ stop: number; color: string; }[]
Default
Required
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.colors.color option.

Type
string
Default
Required
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.colors.stop option.

Type
number
Default
Required
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.endRadius option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.endX option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.endY option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.repeat option.

Type
"repeat" | "reflect" | "no-repeat"
Default
—
Allowed
"repeat" "reflect" "no-repeat"
Runtime
node22, node24, node26

Published frames.gradient.startAngle option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.startRadius option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.startX option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.startY option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.gradient.type option.

Type
"linear" | "radial" | "conic"
Default
Required
Allowed
"linear" "radial" "conic"
Runtime
node22, node24, node26

Published frames.height option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.onDrawCustom option.

Type
(ctx: SKRSContext2D, canvas: Canvas) => void
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.pattern option.

Type
{ source: string; repeat?: "repeat" | "no-repeat" | "repeat-x" | "repeat-y"; }
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.pattern.repeat option.

Type
"repeat" | "no-repeat" | "repeat-x" | "repeat-y"
Default
—
Allowed
"repeat" "no-repeat" "repeat-x" "repeat-y"
Runtime
node22, node24, node26

Published frames.pattern.source option.

Type
string
Default
Required
Allowed
—
Runtime
node22, node24, node26

Published frames.source option.

Type
string
Default
—
Allowed
—
Runtime
node22, node24, node26

Published frames.transformations option.

Type
{ scaleX?: number; scaleY?: number; rotate?: number; translateX?: number; translateY?: number; }
Default
—
Allowed
—
Runtime
node22, node24, node26

frames.width

Optional

Published frames.width option.

Type
number
Default
—
Allowed
—
Runtime
node22, node24, node26

options.gif

Optional

Published options.gif option.

Type
boolean
Default
—
Allowed
false true
Runtime
node22, node24, node26

Published options.gifPath option.

Type
string
Default
—
Allowed
—
Runtime
node22, node24, node26

Published options.onEnd option.

Type
() => void
Default
—
Allowed
—
Runtime
node22, node24, node26

Published options.onFrame option.

Type
(index: number) => void
Default
—
Allowed
—
Runtime
node22, node24, node26

Published options.onStart option.

Type
() => void
Default
—
Allowed
—
Runtime
node22, node24, node26

Published options.signal option.

Type
AbortSignal
Default
—
Allowed
—
Runtime
node22, node24, node26

When **true**, string leaves in the payload are resolved via {@link AssetManager.resolve } (same rules as {@link ApexPainter.prepareForRender } / {@link ApexPainter.renderScene }).

Type
boolean
Default
—
Allowed
false true
Runtime
node22, node24, node26

Types

Frame[]
  • variant 1
    Frame: Frame
    • backgroundColor?string
    • gradient?
      GradientConfig: GradientConfig
      • type
        "linear" | "radial" | "conic"
        • variant 1"linear"
        • variant 2"radial"
        • variant 3"conic"
      • startX?number
      • startY?number
      • endX?number
      • endY?number
      • startRadius?number
      • endRadius?number
      • angle?number
      • centerX?number
      • centerY?number
      • startAngle?number
      • repeat?
        "repeat" | "reflect" | "no-repeat"
        • variant 1"repeat"
        • variant 2"reflect"
        • variant 3"no-repeat"
      • colors
        { stop: number; color: string; }[]
        • variant 1
          __type: { stop: number; color: string; }
          • stopnumber
          • colorstring
    • pattern?
      __type: { source: string; repeat?: "repeat" | "no-repeat" | "repeat-x" | "repeat-y"; }
      • sourcestring
      • repeat?
        "repeat" | "no-repeat" | "repeat-x" | "repeat-y"
        • variant 1"repeat"
        • variant 2"no-repeat"
        • variant 3"repeat-x"
        • variant 4"repeat-y"
    • source?string
    • blendMode?
      GlobalCompositeOperation
      • variant 1"color"
      • variant 2"color-burn"
      • variant 3"color-dodge"
      • variant 4"copy"
      • variant 5"darken"
      • variant 6"destination-atop"
      • variant 7"destination-in"
      • variant 8"destination-out"
      • variant 9"destination-over"
      • variant 10"difference"
      • variant 11"exclusion"
      • variant 12"hard-light"
      • variant 13"hue"
      • variant 14"lighten"
      • variant 15"lighter"
      • variant 16"luminosity"
      • variant 17"multiply"
      • variant 18"overlay"
      • variant 19"saturation"
      • variant 20"screen"
      • variant 21"soft-light"
      • variant 22"source-atop"
      • variant 23"source-in"
      • variant 24"source-out"
      • variant 25"source-over"
      • variant 26"xor"
    • transformations?
      __type: { scaleX?: number; scaleY?: number; rotate?: number; translateX?: number; translateY?: number; }
      • scaleX?number
      • scaleY?number
      • rotate?number
      • translateX?number
      • translateY?number
    • duration?number
    • width?number
    • height?number
    • onDrawCustom?(ctx: SKRSContext2D, canvas: Canvas) => void
AnimateOptions: AnimateOptions
  • gif?boolean
  • gifPath?string
  • onStart?() => void
  • onFrame?(index: number) => void
  • onEnd?() => void
  • signal?AbortSignal
PainterAssetRefsOptions: PainterAssetRefsOptions
  • resolveAssetRefs?boolean

Return value

Promise<Buffer<ArrayBufferLike>[]>

The return contract is generated from the packed declaration. Async wrappers and nullable/undefined variants remain visible in the type model.

Errors

NOT APPLICABLE — no verified errors are bound to this API.

Limits

NOT APPLICABLE — no API-specific verified limits are bound to this API.

Related APIs

No explicit related API metadata.

Next steps