【发布时间】:2022-02-07 08:11:29
【问题描述】:
我有一个画布,我想在上面画一个图标。我知道在尝试绘制图像之前您必须等待图像加载,但是我尝试过的没有任何效果。
我尝试使用完整的图像 URL(协议、域和路径),我已经移动了所有内容,但没有任何效果。
我已经用谷歌搜索了一个小时的大部分时间,几乎每个解决方案都涉及确保首先加载图像。
这是我所拥有的几个 sn-ps。
const image = new Image()
image.addEventListener('load', _ => {
addImage(canvas, image, coords)
})
image.src = '/images/image-location.svg'
function addImage(canvas, image, coords) {
const ctx = canvas.getContext('2d')
ctx.save()
ctx.drawImage(image, 0, 0, image.width, image.height, ...coords, 50, 50)
ctx.restore()
}
我在事件监听器中抛出了一个console.log,只是为了确保它正在触发并且确实触发了。我什至登录了addImage,它肯定能做到这一点。
解决办法是什么?
【问题讨论】:
-
问题可能出在图像的大小或 coords 参数上,您可以分享您声明/分配坐标的行吗?
-
能不能也分享一下svg图片