在Node-webkit中将画布保存到磁盘

时间:2014-12-24 18:35:25

标签: javascript html5 node.js canvas node-webkit

在我的应用程序中我有画布从磁盘加载一些图像。现在在修改了画布之后,我需要一种方法将画布保存到磁盘。我的所有工作都在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");
 });
});

但我怎么不知道如何使用它或将我的画布传递给这个函数。所以如何将当前画布保存为磁盘,如pngjpg中的node-webkit }

2 个答案:

答案 0 :(得分:4)

最后,我可以解决我的问题,并使用FileSaver

将不同图像格式的画布保存到磁盘
  canvas.toBlob(function(blob) {
            saveAs(blob, "image.jpg");
        });

答案 1 :(得分:-1)

你的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);
})

不需要其他包裹。