【演示结果:】
模拟器 是这样的 。而安卓真机真机上是这样的
图片显示不出来。在本地测试就OK,图片都可以显示出来。但是拿到真机上面去图片都没有显示。
图片的资源为 本地用户文件。
【问题猜测:】是因为drawImage 不支持本地用户文件吗??这是为何呢?怎么解决呢?
【实例代码:】
var filePath = wx.env.USER_DATA_PATH;//本地用户文件路径
var imgFilePath =filePath + "/zip/zipimg/0/01.png";//图片路径
var ctx = wx.createCanvasContext('myCanvas');
ctx.setFillStyle("red");
ctx.fillRect(0, 0, 250, 300);
//绘制图片
ctx.drawImage(imgFilePath, 0, 0, 250, 300);
//绘制文本
ctx.setFontSize(64);
ctx.setFillStyle("#000");
ctx.fillText("圆", 94, 246);
ctx.draw();
//绘制完成
【问题描述:】使用Canvas画图,绘制图片时出现了问题。图片的资源地址为本地用户文件。问题是 绘制的图片在模拟器上和IOS真机上是有图片显示的,但是在安卓真机上图片就没有显示~
你好,请勿重复发帖,原帖已有相关同学跟进,有结果会在原帖回复,此帖先隐藏,感谢配合
直接使用图片在小程序内的路径即可
为何要用 wx.env.USER_DATA_PATH 这么厉害的东西
或者尝试先wx.getImageInfo来获取一个临时路径,再画到canvas上
目的是为了,在本地用户文件中 取文件。而不是在 小程序项目中取文件哟。 而且 IOS真机都没有问题的。只有安卓真机有问题,就有点儿奇怪了~
我是的图片在项目文件中