Сохранить холст на диск в Node-webkit

В моем приложении у меня есть холст, который загружает изображение с диска. теперь после изменения canvas мне нужен способ сохранить canvas на disk.all все мои работы на платформе Node-Webkit, так что это приложение для настольного компьютера, и я не могу отправить canvas.dataToUrl на сервер. я также знаю некоторые библиотеки, такие как camanjs, которые имеют некоторую функцию для сохранения

var Caman = require('caman').Caman;

Caman("/path/to/file.png", function () {
 this.brightness(5);
 this.render(function () {
 this.save("/path/to/output.png");
 });
});

но как я не знаю, как использовать его или передать свой холст этой функции. так, как сохранить текущий холст на диск в виде файла изображения, как png или же jpg в node-webkit

2 ответа

Решение

Наконец я могу решить свою проблему и сохранить холст в другом формате изображения на диск с помощью FileSaver

  canvas.toBlob(function(blob) {
            saveAs(blob, "image.jpg");
        });

На вашей html-странице, а не на node.js, включите html2canvas.js

затем:

html2canvas($('div#main')).then(function(canvas) {
  var dataurl = canvas.toDataURL();
  dataurl = dataurl.replace(/^data:image\/(png|jpg|jpeg);base64,/, "");
  require("fs").writeFile("C:\\out.png", dataurl, 'base64', function(err) {
    console.log(err);
  });
}).catch(function(e) {
  console.log(e);
})

никакой другой пакет не требуется.

Другие вопросы по тегам