Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The provided value is not of type '(CSSImageValue or HTMLImageElement or SVGImageElement or HTMLVideoElement or HTMLCanvasElement or ImageBitmap or OffscreenCanvas)';at SelectorQuery callback function
TypeError: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The provided value is not of type '(CSSImageValue or HTMLImageElement or SVGImageElement or HTMLVideoElement or HTMLCanvasElement or ImageBitmap or OffscreenCanvas)'
现在都21年5月份了,这个问题还是没有解决吗
2021年9月28日
可以看一下这篇文章https://developers.weixin.qq.com/community/develop/article/doc/000242073903a04e082ab595b52013
切换一下基础库就行了。我真是服了,排查了一天,最后发现是基础库问题。
开始用的是 2.18.1,不管用什么样的姿势,都是报这个错。
后面换成 2.20.3,好了。
再切回 2.18.1,又报错。
可以断定是基础库的问题了。
需要先创建image对象,提供image.src,image.onload过程中canvasContext.drawImage(image,...)
可参考:
https://developers.weixin.qq.com/community/develop/article/doc/000e88e73a415835ed9b46d7956013
小程序官方文档没有诚意吧!
我也遇到了,就是将canvas画好的图片保存为临时图片,再次画到画布的时候报错。请问楼主解决这个问题了吗
什么东西嘛,又不把另外一个做好就说停止维护,api换着换着又是一堆错误
示例代码,可以运行:
canvasCtx = domNode.getContext('2d')
const dpr = wx.getSystemInfoSync().pixelRatio
domNode.width = posterWidth * dpr
domNode.height = posterHeight * dpr
canvasCtx.scale(dpr, dpr)
const bg = domNode.createImage()
const qrCode = domNode.createImage()
bg.src = postSrc
bg.onload = () => canvasCtx.drawImage(bg, 0, 0, posterWidth, posterHeight)
qrCode.src = qrcodeImg
qrCode.onload = () => canvasCtx.drawImage(qrCode, 285, 1075, 180, 180)
真机连HTMLCanvasView都没有。只能发布体验版?
楼主解决了吗
我把图片放到和JS文件同一个目录里面就可以了。