javascript - 在 Vue.js 中使用 HTML Canvas 时遇到问题

标签 javascript html vue.js html5-canvas

我正在尝试使用 HTML Canvas 上传图像。我使用 canvas 的原因是,根据我从 api 返回的数据,我将在其上叠加其他小图像,这在 canvas 中似乎更容易做到。

我正在尝试像这样创建一个新的 html 图像:

    const imgObj = new Image()
    imgObj.src = '../../pic'
    ctx.drawImage(imgObj, 200, 200) 

当我尝试在 vue.js 中使用此代码时(作为在生命周期的“onCreate”部分调用的 javscript 函数的一部分),我被告知 Image()未定义。

所以我试过这个:

    const imgObj = document.createElement('img')
    imgObj.src = '../../pic'
    ctx.drawImage(imgObj, 20, 20)

据我所知,这应该做同样的事情,但当我这样做时没有任何渲染。

如果我简单地插入一个 <img>进入 html,图片加载,很好,但正如我上面所说,我将在顶部重叠一堆较小的照片,使用 canvas 处理一堆图像似乎更容易管理。

如有任何建议,我们将不胜感激。

最佳答案

在第二种方式中,您需要在onload 函数中调用drawImage:

const imgObj= document.createElement('img')
imgObj.src = '../../pic'

imgObj.onload = function () {
   ctx.drawImage(imgObj, 20, 20)
}

关于javascript - 在 Vue.js 中使用 HTML Canvas 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61621239/

相关文章:

html - 获取背景色以填充 div 的全高

javascript - Vue.js 不会告诉我错误的行号

javascript - 如何影响表格单元格以调整事件 div 的大小

javascript - 如何填充对象数组中缺少的键?

html - CSS 不透明动画在任何浏览器中都不起作用

javascript - VueJS动态类

javascript - Vuejs : how to use component 2 in template of component 1

javascript - 为什么在传输 gzip 时缩小?

javascript - 预输入搜索建议 undefined - Remote Ajax

html - 用于 div 类复合文本的 Selenium Webdriver 定位器