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

MemberArgsReturnsNotes
deletevoidFree the WASM memory. Required.
serializeUint8ArraySkia-serialized bytes of the picture (SKP format).

Static factories

FactoryArgsReturnsNotes
CK.MakePicturebytes: Uint8ArrayPicture | nullDeserialize SKP bytes (e.g. from a previous serialize() call).

See also