写真、テキスト、地図をキャンバスにロードできる 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 のドキュメントを次に示します。