Нарисуйте локальное изображение на холсте в приложении Express Generator - PullRequest
0 голосов
/ 12 октября 2019

У меня есть 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")));

...