Задать вопрос
alexjet73
@alexjet73

Как включить поддержку Canvas в NodeJS?

Есть в npm модуль GifShot (от ребят из яху). На сервер nodejs приходит пост запрос с массивом изображений в base64 в JSON.
var express = require('express');
var gifshot = require('gifshot');
var app = express();
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded(({ limit: '100mb', extended: true, parameterLimit: 50000 }));

app.post('/gifshot', urlencodedParser, function(req,res){
		var imagespost = JSON.parse(req.body.images);
		gifshot.createGIF({
        images: imagespost,
        interval: 0.04,
        numFrames: 10,
        frameDuration: 1,
        gifWidth: 300,
        gifHeight: 300,
        sampleInterval: 10,
        numWorkers: 2
    },function(obj) {
        if(!obj.error) {
            res.send(obj.image);
        } else {
            res.send(obj.errorMsg);
        }
    });
		
});

app.listen(3000);

gifshot пишет ошибку Canvas elements are not supported in your browser

На stackoverflow смотрел вопросы, доп модулей для гифшот вроде не подключали. Единственная разница что результат в примере на stackoverflow писался в файл, а я просто вывожу base64.
Кто может подсказать в чем причина и как исправить эту ошибку?
  • Вопрос задан
  • 688 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@abberati
frontend-разработчик
Canvas — это апи браузера. Это штука, чтобы рисовать в окне браузера другие штуки. Nodejs — это не браузер, там нет окна и канваса там нет. Никак не включить.

Можно, конечно, поискать эмуляторы для ноды или на крайний случай поднимать виртуальный браузер в процессе ноды. Но вы точно этого хотите?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы