deno-canvas icon indicating copy to clipboard operation
deno-canvas copied to clipboard

`CanvasKitInit` not found

Open rylydou opened this issue 1 year ago • 1 comments

When running this code using deno run -A ... I get this error: The requested module 'https://deno.land/x/[email protected]/mod.ts' does not provide an export named 'CanvasKitInit'

My Code:

import { CanvasKitInit } from "https://deno.land/x/[email protected]/mod.ts"

const kit = await CanvasKitInit({
	// What path would you use for locating files in deno?
	locateFile: (file) => '/node_modules/canvaskit-wasm/bin/' + file,
})

const surface = kit.MakeSurface(100, 100)!
const canvas = surface.getCanvas()!

const paint = new kit.Paint()
paint.setColor([255, 0, 0, 255])
canvas.drawCircle(25, 25, 20, paint)

const image = surface.makeImageSnapshot()!
const bytes = image.encodeToBytes()!
Deno.writeFileSync('image.png', bytes)

Before using this package I tried using canvaskit-wasm and got similar errors.

Same code but with a slightly modified header:

import CanvasKitInit from 'npm:canvaskit-wasm'

CanvasKitInit.default({ // ...

rylydou avatar Sep 26 '23 00:09 rylydou

mod.ts exports a wrapper API around the canvaskit-wasm, but if you want direct access, you can import canvas from mod.ts which is the already instantiated CanvasKit object.

import { canvas as kit } from "https://deno.land/x/[email protected]/mod.ts"

const surface = kit.MakeSurface(100, 100)!
const canvas = surface.getCanvas()!

const paint = new kit.Paint()
paint.setColor([255, 0, 0, 255])
canvas.drawCircle(25, 25, 20, paint)

const image = surface.makeImageSnapshot()!
const bytes = image.encodeToBytes()!
Deno.writeFileSync('image.png', bytes)

DjDeveloperr avatar Oct 03 '23 10:10 DjDeveloperr