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

Save canvas to disk in Node-webkit

本文关键字:Node-webkit 磁盘 保存 布保存      更新时间:2023-09-26

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

但是我不知道如何使用它或将我的画布传递给这个 function.so 如何将当前画布作为图像文件保存到磁盘,如pngjpg in node-webkit

最后,我可以解决我的问题,并使用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);
})

无需其他软件包。