收藏
回答

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

框架类型 问题类型 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真机上是有图片显示的,但是在安卓真机上图片就没有显示~


回答关注问题邀请回答
收藏

2 个回答

  • 灵芝
    灵芝
    2018-08-23

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

    2018-08-23
    有用
    回复 2
    • 如烟
      如烟
      2020-11-16
      为啥不把原帖地址链接上来
      2020-11-16
      5
      回复
    • 汤姆上校
      汤姆上校
      2020-12-30
      不止一次遇到这样死板的回答了,不管别人是否重复发帖,我搜索过来是要答案的,你好歹贴一下链接。建议学习一下国外的技术社区,stackoverflow.com 听说过没有?
      2020-12-30
      1
      回复
  • 昊天 Haotian
    昊天 Haotian
    2018-08-23

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

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


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

    2018-08-23
    有用
    回复 2
    • 文杰
      文杰
      2018-08-23

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


      2018-08-23
      回复
    • 陈琦
      陈琦
      2022-12-05
      我尝试了下, 先用getImageInfo,也没成功。 有成功代码吗?
      我是的图片在项目文件中
      2022-12-05
      回复
登录 后发表内容