首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有织物画布的FileSaver.js

带有织物画布的FileSaver.js
EN

Stack Overflow用户
提问于 2015-12-02 03:31:56
回答 2查看 2.6K关注 0票数 8

我试着在Fabric.canvas对象中使用FileSaver.js,但是Fabric js似乎没有blob选项。

顺便说一下,我正在使用Meteor框架。

如何在不使用基本canvas.toDataUrl的情况下导出Fabric canvas?

谢谢:)

EN

回答 2

Stack Overflow用户

发布于 2016-10-07 21:07:16

您可以通过使用原生Canvas元素来实现这一点。

代码语言:javascript
复制
var canvas = new fabric.Canvas("canvas");

// ... your code here ...

canvas.getElement().toBlob(function(blob) {
  saveAs(blob, "canvas.png");
});

如果你想让它和Safari一起工作,你可以使用Sebastian Tschan Javascript Canvas to Blob polyfill

票数 8
EN

Stack Overflow用户

发布于 2015-12-02 17:01:30

Fabric没有Blob的直接选项。但您可以通过canvas.toJSON()将其导出为json格式,也可以通过canvas.toDataURL()将其导出为图像格式。然后,您只需执行以下操作即可转换blob中的数据。

在blob中导出 fabric画布

代码语言:javascript
复制
  var data = JSON.stringify(canvas.toJSON()),           
        blob = new Blob([data], {type: "octet/stream"});

代码语言:javascript
复制
  var data = canvas.toDataURL(),           
        blob = new Blob([data], {type: "octet/stream"});

See in fiddle

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34028552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档