CanvasMedia
CanvasMedia is designed for pre-rendering media into a canvas layer.
It does not replace video or image playback, but prepares rasterized content
for performant reuse in animations, effects, and transitions.
Basic Demo
Initialization
caution
- The provided
mediamust be fully loaded before initialization. CanvasMediadoes not handle media loading internally.
Create a CanvasMedia instance and prerender an image inside it:
const instance = new CanvasMedia({
container: document.getElementById("container"),
media: document.querySelector("img"),
append: false,
});
Or video:
const instance = new CanvasMedia({
container: document.getElementById("container"),
media: document.querySelector("video"),
append: true,
});
Handle when your resource is rendered:
instance.on("render", () => {
console.log("do something with your canvas", instance.canvas);
});
Destroy the canvas:
instance.destroy();
Best Practices
- Ensure media is loaded (
img.complete,video.readyState >= 2) before creatingCanvasMedia. - Use
CanvasMediafor visual reuse, not as a replacement for<video>playback. - Disable
autoRenderVideoif you control rendering manually or need lower CPU usage. - Prefer
rule: "cover"for full-background visuals and"contain"for preserving aspect ratio. - Combine
CanvasMediawithCanvasorRafutilities for animation pipelines.