skia-canvas: Error: Could not allocate new bitmap

Version 1.0.0 throws Error: Could not allocate new 100x100 bitmap error when trying to save/buffer result image.

const canvas = new Canvas(100, 100)
const ctx = canvas .getContext("2d")
await canvas.toBuffer("jpg") //error

Downgrade to 0.9.30 fixes the issue.

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Reactions: 1
  • Comments: 19 (9 by maintainers)

Most upvoted comments

Tested both with rc2:

const {Canvas, Window} = require("skia-canvas")

;(async () => {
	const canvas = new Canvas(100, 100)
	console.log(canvas.gpu) // false
	canvas.gpu = true
	console.log(canvas.gpu) // still false
	const ctx = canvas.getContext("2d")
	await canvas.toBuffer("jpg") //works fine
})()

;(async () => {
	const win = new Window(300, 300) // successfuly opens a window
	console.log(win.canvas.gpu) // false
	win.canvas.gpu = true
	console.log(win.canvas.gpu) // also false
	win.ctx.fillStyle = "red"
	win.ctx.fillRect(100, 100, 100, 100) // works fine
})()

Version 1.0.1-rc1 👇

image

Version 1.0.0 👇

image

I’ve reinstalled skia-canvas as you described. Now when i run console.log(canvas.gpu) it returns false. My laptop uses Intel UHD Graphics 620 video card, but as i know it supports Vulkan.

image