fabricjsキャンバスの一部を別のキャンバスにコピーしようとしています.fabricにそれを行うのに適した方法があるかどうかわかりません(その場合は教えてください)。ただし、キャンバスはすでに fabricjs を使用して作成されています。 new fabric.Canvas() . context.drawImage()を使用してこのキャンバスの一部をコピーしようとすると、TypeError が発生します。キャンバスをimgまたはファブリックを使用せずに作成したキャンバスに置き換えてみましたが、うまくいきました。そのため、ファブリック キャンバス オブジェクトを少し違った方法で使用する必要があるかもしれないと推測しています。
5234 次
1 に答える
5
キャンバスから長方形のゾーンをコピーして画像としてエクスポートする場合は、次のように使用できます。
canvas.deactivateAll();
canvas.renderAll();
var ctx = canvas.getContext("2d");
var myImageData = ctx.getImageData(box.x, box.y, box.w, box.h);
var buffer = document.createElement('canvas');
var bufferCtx = buffer.getContext("2d");
buffer.width = box.w;
buffer.height = box.h;
bufferCtx.putImageData(myImageData, 0, 0);
window.open(buffer.toDataURL('image/png'));
于 2013-02-12T13:42:40.647 に答える