fabricJS canvas 中的 setOverlayImage 错误 - 错误?
setOverlayImage error in fabricJS canvas - bug?
我遇到了一个问题,每次单击鼠标并将其拖动到 select 的 canvas 部分时,都会出现大量相同的错误。我已将我的代码剥离到最低限度以发生此错误:
var canvas = new fabric.Canvas('card_canvas');
canvas.setOverlayImage('/man/images/card_overlay.png',canvas.renderAll.bind(canvas));
这个错误在fabricJS官网上的setOverlayImage demo也可以看到,错误是:
TypeError: Argument 1 of CanvasRenderingContext2D.drawImage could not be converted to any of: HTMLImageElement, HTMLCanvasElement, HTMLVideoElement.
据我所知,这是由于 setOverlayImage 使用 url 字符串而不是图像对象,但是如果我通过图像对象传递它根本不起作用。我将如何解决这个问题?
您发布的代码似乎 work fine,此 jsfiddle 使用 github 存储库中的最新版本的库,也许错误已修复。
备选方案:
fabric.Image.fromURL('/man/images/card_overlay.png', function(img) {
canvas.setOverlayImage(img, canvas.renderAll.bind(canvas));
});
我遇到了一个问题,每次单击鼠标并将其拖动到 select 的 canvas 部分时,都会出现大量相同的错误。我已将我的代码剥离到最低限度以发生此错误:
var canvas = new fabric.Canvas('card_canvas');
canvas.setOverlayImage('/man/images/card_overlay.png',canvas.renderAll.bind(canvas));
这个错误在fabricJS官网上的setOverlayImage demo也可以看到,错误是:
TypeError: Argument 1 of CanvasRenderingContext2D.drawImage could not be converted to any of: HTMLImageElement, HTMLCanvasElement, HTMLVideoElement.
据我所知,这是由于 setOverlayImage 使用 url 字符串而不是图像对象,但是如果我通过图像对象传递它根本不起作用。我将如何解决这个问题?
您发布的代码似乎 work fine,此 jsfiddle 使用 github 存储库中的最新版本的库,也许错误已修复。
备选方案:
fabric.Image.fromURL('/man/images/card_overlay.png', function(img) {
canvas.setOverlayImage(img, canvas.renderAll.bind(canvas));
});