Сохранить холст на диск в 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);
})
никакой другой пакет не требуется.