收藏
回答

微信小程序 使用Canvas画图 drawimage 不支持本地用户文件图片吗?

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug Canvas/createCanvasContext/ 客户端 最高6.7.2 最高2.2.1

【演示结果:】

模拟器 是这样的 。而安卓真机真机上是这样的

图片显示不出来。在本地测试就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真机上是有图片显示的,但是在安卓真机上图片就没有显示~


最后一次编辑于  2018-08-23
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    2018-08-23

    你好,请勿重复发帖,原帖已有相关同学跟进,有结果会在原帖回复,此帖先隐藏,感谢配合

    2018-08-23
    赞同
    回复
  • 昊天 Haotian
    昊天 Haotian
    2018-08-23

    直接使用图片在小程序内的路径即可

    为何要用 wx.env.USER_DATA_PATH  这么厉害的东西


    或者尝试先wx.getImageInfo来获取一个临时路径,再画到canvas上

    2018-08-23
    赞同
    回复 1
    • 文杰
      文杰
      2018-08-23

      目的是为了,在本地用户文件中 取文件。而不是在 小程序项目中取文件哟。 而且 IOS真机都没有问题的。只有安卓真机有问题,就有点儿奇怪了~


      2018-08-23
      回复