У меня есть 20+ изображений PNG, которые я хочу использовать для создания анимации холста.
Я использовал экспресс-генератор для создания своего приложения.
npx express-generator --view=ejs
npm install canvas
npm install
Он создал папку ./public/images для меня, поэтому я сохранил в ней свои png-изображения.
Мой план состоял в том, чтобы загрузить изображения в node-canvas и затем передать dataURL в html через механизм соблазнения ejs. Однако независимо от того, где я пытался сохранить этот код (в app.js, routs / index.js, public / javascripts / mycanvasfile.js), FATAL-ошибка будет вызываться после
img.src ="path/to/file.png"
Это код:
const Canvas = require("canvas");
const canvas = Canvas.createCanvas(800, 800);
const ctx = canvas.getContext("2d");
const img = new Canvas.Image();
img.onload = () => ctx.drawImage(img, 0, 0);
img.src = "../images/nw.png"; // this causes error
var nwURL = canvas.toDataURL();
Я действительно сомневаюсь, что набираю неверный путь - поскольку я написал его всеми возможными способами.
Когда я пытаюсь запустить свое приложение:
npm start
FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.
По сути, приложение не распознает локальное изображение.
Как лучше всего вывести мои локальные изображения на холст? Что я делаю неправильно? В app.js есть статическое промежуточное ПО app.use(express.static(path.join(__dirname, "public")));