【发布时间】:2014-05-30 02:59:17
【问题描述】:
我有一个 Fabric.js 原型,人们可以在其中将照片、文本和地图加载到画布中。完成后,我希望他们能够将画布保存为图像。我尝试过使用标准:
canvasURL = canvas.toDataURL();
var image = new Image();
image.src = canvas.toDataURL("image/png");
$('#canvasContainer').replaceWith(image);
但它说画布是tainted - 我认为是因为图像(上面的方法在它只是文本时有效)。错误是:
Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
我可以使用 Fabric 的内置方法保存为 SVG:
var canvasSVG = canvas.toSVG();
$('#canvasContainer').replaceWith(canvasSVG);
但我更喜欢 PNG/JPG。有什么想法吗?
这是有关画布序列化的 Fabric.js 文档。
【问题讨论】:
标签: javascript canvas cross-domain fabricjs todataurl