1、使用离屏 定义如下
const canvas = wx.createOffscreenCanvas({
type: '2d',
width: canvasWidth,
height: canvasHeight
})
const canvasCtx = canvas.getContext('2d')
2、顺利生成
let res = canvasCtx.createImageData(canvasWidth,canvasHeight)
(一点也不顺利的 结果 )
res 的 值{data: Uint8ClampedArray(1216500), width: 375, height: 811, dataUnion: Uint8ClampedArray(1216500)}
3、问题1 我要怎么用这个数据呢?
4、也无法存下图片,这一步报错
wx.canvasToTempFilePath({
x: 0,
y: 0,
width: canvasWidth,
height: canvasHeight,
destWidth: canvasWidth,
destHeight: canvasHeight,
canvas: canvas,
success(res) {
console.log(res.tempFilePath)
}
})
wx.canvasToTempFilePath 这一步的报错信息如下
VM282 WAService.js:2 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)'
切换一下基础库就行了。我真是服了,排查了一天,最后发现是基础库问题。
开始用的是 2.18.1,不管用什么样的姿势,都是报这个错。
后面换成 2.20.3,好了。
再切回 2.18.1,又报错。
可以断定是基础库的问题了。
是不是canvasToTempFilePath 不支持createOffscreenCanvas
{"errMsg": "canvasToTempFilePath:fail invalid viewId"}
同问
2022年6月6日,这个问题存在。
2022/4/1 这个问题还存在
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
代码片段
麻烦答主注意下 报错 是 在wx.canvasToTempFilePath 的时候。不是 之前。