调用画布drawImage时报错
发布于 4 年前 作者 fengming 11096 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

在调用drawImage()时会产生很多报错日志在小程序后台,但是却排查不出问题,毕竟参数没有错误,编译器也没报错,就是小程序后台的报错日志会有:undefined is not an object (evaluating ‘t.indexOf’)

  • 预期表现
  • 复现路径
  • 提供一个最简复现 Demo

var ctx = wx.createCanvasContext(‘myCanvas1’);

// 绘图开始

ctx.setFillStyle(’#e9564f’);

ctx.fillRect(0, 0, 320, 524);

ctx.save();

// 画用户头像

ctx.beginPath();

ctx.arc(160, 46, 27.5, 0, 2 * Math.PI);

ctx.fill();

ctx.clip();

temAvatar = http://tmp/wx4692f08fa6ad3bc2.o6zAJs3vnbKuh2g7so7z2zZ83jzw.jVjUUrNRLbuh80237f2eb1b24ecf0a03be51c97c5fdc.jpeg;

ctx.drawImage(temAvatar, 132.5, 18.5, 55, 55);

ctx.restore();

ctx.save();

//画发起者昵称

ctx.setFillStyle(’#fde7c1’);

ctx.setFontSize(13);

ctx.setTextAlign(‘center’);

ctx.fillText(‘name’, 160, 92);

ctx.save();

3 回复

最终指向的是WA*.js,然后我们能看到的定点又是某个官方函数,例如还有一个报错指向的位置是canves的drawImage方法,但是这个drawImage方法是官方的,不是我们写的,然而报错的具体信息显示的是:Cannot read property 'indexOf' of undefined;但我们又没有indexOf相关的代码,所以真的好懵逼。这时候我们怎么定位问题呢?这个测试又测不出来,报错问题又无法找到。

具体报错如下图:

确认一下 temAvatar 这个地址是否正确

我也出现这个问题,不知道楼主解决没

回到顶部