微信小程序 使用Canvas画图, drawimage 不支持 本地用户文件吗?
发布于 5 年前 作者 xiuyingsun 13126 次浏览 来自 问答

测试上 是这样的

。而真机上是这样的

图片显示不出来。在本地测试就OK,图片都可以显示出来。但是拿到真机上面去图片都没有显示。

图片的资源为 本地用户文件。

是因为drawImage 不支持本地用户文件吗??这是为何呢?怎么解决呢?


实例代码:

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

ctx.setFillStyle(“red”);

ctx.fillRect(0, 0, 200, 300);

ctx.drawImage(wx.env.USER_DATA_PATH+"/wa/08.png", x, y, imgWidth, imgHeight);

//绘制文本

ctx.setFontSize(fontsize);

ctx.setFillStyle("#000");

ctx.fillText(“圆”, 120, 180);

ctx.draw();

问题描述:使用Canvas画图,绘制图片时出现了问题。图片的资源地址为本地用户文件。问题是 绘制的图片在模拟器上和IOS真机上是有图片显示的,但是在安卓真机上图片就没有显示~


6 回复

安卓下对本地文件对支持有些问题,我们后续版本修复

我也遇到同样的问题,模拟器正常,android手机drawImage显示不了保存在wx.env.USER_DATA_PATH 中的图片,网络图片以及保存在工程目录下的文件均正常。手机为小米8.

你好,问题未复现。请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

你好,问题复现了吗?能解决吗?是什么问题呢?@nickname

都已经一多年了这个bug还是没有解决啊。Android手机drawImage不了保存在wx.env.USER_DATA_PATH下的图片,关键是保存文件时只能保存在这个路径下。drawImage又不支持base64格式,这也就造成了某些Android手机下无论如何也画不了base64图片的局面了。

回到顶部