canvaskit-wasm 0.39
build 2026-04-29
Picture
A recorded sequence of draw commands you can replay later. Built with PictureRecorder; replayed with canvas.drawPicture(pic). Useful when an expensive draw graph is reused across many frames or surfaces — record once, replay many times.
Picture is a WASM object — .delete() when done.
const recorder = new CK.PictureRecorder();
const recCanvas = recorder.beginRecording(CK.LTRBRect(0, 0, 100, 100));
const paint = new CK.Paint();
paint.setColor(CK.Color(40, 90, 180, 1));
paint.setAntiAlias(true);
recCanvas.drawCircle(50, 50, 40, paint);
paint.setColor(CK.Color(220, 60, 60, 1));
recCanvas.drawCircle(50, 50, 20, paint);
const pic = recorder.finishRecordingAsPicture();
canvas.clear(CK.WHITE);
for (let i = 0; i < 4; i++) {
canvas.save();
canvas.translate(40 + i * 90, 80);
canvas.drawPicture(pic);
canvas.restore();
}
surface.flush();
pic.delete();
recorder.delete();
paint.delete();
Members
| Member | Args | Returns | Notes |
|---|---|---|---|
delete | — | void | Free the WASM memory. Required. |
serialize | — | Uint8Array | Skia-serialized bytes of the picture (SKP format). |
Static factories
| Factory | Args | Returns | Notes |
|---|---|---|---|
CK.MakePicture | bytes: Uint8Array | Picture | null | Deserialize SKP bytes (e.g. from a previous serialize() call). |
See also
PictureRecorder— builds a Picture.Canvas.drawPicture— replays one.