Fabricjs将画布的一部分复制到另一个画布

Fabricjs copy part of canvas to another canvas

本文关键字:另一个 复制 Fabricjs 一部分      更新时间:2023-09-26

我正在尝试将fabricjs画布的一部分复制到另一个画布。我不确定织物是否有合适的方法(如果是这样,请告诉我),经过一番搜索,我决定不使用织物。但是画布已经使用fabricjs创建了新面料。Canvas()。现在,当我尝试使用context.drawImage()复制画布的一部分时,我会得到一个TypeError。我试着用img或不使用织物创建的画布替换画布,这很有效。所以,我想我可能不得不以不同的方式使用织物画布对象。

如果您想从画布中复制一个矩形区域以将其导出为图像,可以使用以下方法:

      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'));
相关文章: