import { Image } from 'canvas';
import { readFileSync } from 'fs';
const file = readFileSync('test.png');
const objectUrl = URL.createObjectURL(new Blob([file], { type: 'image/png' }));
const image = new Image();
image.onload = () => {
URL.revokeObjectURL(objectUrl);
console.log('in onload: complete =', image.complete); // never called
};
image.src = objectUrl;
console.log('immediately after setting src: complete =', image.complete); // true
If you try to draw an image with src being an object URL on a 2d context, you get Error: Image given has not completed loading.
Environment:
- Node.js 22.14.0
- canvas 3.1.2