我正在尝试将fabricjs画布的一部分复制到另一个画布。我不确定fabric是否有适合这样做的方法(如果是这种情况,请告诉我),经过一番搜索,我决定不使用fabric。但是画布已经使用fabricjs创建了。 新面料.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 回答