以下代码可以帮助在画布上呈现图像,但是我想使用putImageData/drawImage之类的东西,因为我必须从另一个画布上绘制图像。而且实时操作中,当性能成为问题时,对于超过5 MB的图像使用toDataURL非常糟糕。
我还想将图像呈现在画布的中央。 Fabricjs只需要使用图像的toDataURL就可以直接呈现它。
任何帮助都将不胜感激。
我还想将图像呈现在画布的中央。 Fabricjs只需要使用图像的toDataURL就可以直接呈现它。
任何帮助都将不胜感激。
fabric.Image()
就像 ctx.drawImage
一样,接受一个 canvasElement
作为图片来源。
因此,你可以像这样调用:
canvas.add(new fabric.Image(yourCanvasToDraw));
如果您希望将其居中于画布中:
canvas.add(new fabric.Image(c, {left: canvas.width/2-c.width/2, top: canvas.height/2-c.height/2}));
ctx.getImageData
+ctx.putImageData
的速度至少与ctx.toDataURL
相同,而这两者的速度都比ctx.drawImage
慢得多。