今天调试一个已经完成的水印功能,突然发现报错了。报错内容如下: property 'getContext' of undefined
毫无疑问,这肯定是创建canvas的时候出了问题,但代码简单到想不出能出什么问题,如下:
let canvas = wx.createOffscreenCanvas({
type: '2d',
width: ress.width,
height: ress.height
})
只能继续找不同,因为我是默认图片全屏展示,所以画布大小是按照图片宽高来设置的,于是排查图片信息,发现宽高远远大于微信的750,于是进行了下缩放:
// 如果图片宽度大于屏幕宽度,创建画布会出错,进行缩小处理
if( ress.width>750){
ress.width = 750/ress.width * ress.width
ress.height = 750/ress.height * ress.height
}
再次试验,问题解决。