【问题标题】:setOverlayImage error in fabricJS canvas - bug?fabricJS 画布中的 setOverlayImage 错误 - 错误?
【发布时间】:2015-06-22 19:01:36
【问题描述】:

我遇到了一个问题,每次单击并拖动鼠标以选择画布的一部分时,都会出现大量相同的错误。我已将我的代码精简到最低限度以使此错误发生:

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 字符串而不是图像对象,但是如果我通过图像对象传递它根本不起作用。我将如何解决这个问题?

【问题讨论】:

    标签: jquery html canvas fabricjs


    【解决方案1】:

    您发布的代码似乎是work fine,这个jsfiddle使用了github存储库中最新版本的库,也许当时已经修复了错误。

    替代方案:

    fabric.Image.fromURL('/man/images/card_overlay.png', function(img) {
        canvas.setOverlayImage(img, canvas.renderAll.bind(canvas));
    });
    

    【讨论】:

    • 问题出在 build 1.4.0 上,感谢您解决这个问题
    猜你喜欢
    • 2018-02-16
    • 2017-02-25
    • 1970-01-01
    • 2012-06-01
    • 2018-06-26
    • 2016-01-29
    • 1970-01-01
    • 2022-01-16
    • 2018-12-15
    相关资源
    最近更新 更多