收藏
回答

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

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug Canvas / createCanvasContext / drawimage 工具 最高 最高

测试上 是这样的 。而真机上是这样的

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


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

7 个回答

  • 晨
    2018-08-27

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

    2018-08-27
    有用
    回复 2
    • 水马
      水马
      2018-10-12

      请问这个问题修复了吗, 我用最新的版本也还是有这个问题, 解决问题的版本有大概的发布时间吗?

      2018-10-12
      回复
    • 水马
      水马
      2018-10-12

      还有如果保存本地不保存到 wx.env.USER_DATA_PATH 这个路径下, 还有其他什么路径可以保存么, 求解, 感谢!


      2018-10-12
      回复
  • ming
    ming
    2018-09-02

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

    2018-09-02
    有用 1
    回复 2
    • 文杰
      文杰
      2018-09-03

      这个问题,官方还在解决中,安卓真机暂时不支持drawImage 本地用户文件。等后面官方通知吧~

      2018-09-03
      回复
    • 冯志辉
      冯志辉
      2018-09-22回复文杰

      我现在遇到的问题刚好相反啊,网络图片在真机上写不进画布,开发工具上可以,坑了

      2018-09-22
      回复
  • 李亮
    李亮
    2020-03-06

    作者我也碰到这样的问题了.方便留个联系方式嘛, 想请教您一下

    2020-03-06
    有用
    回复
  • 黯伢zz
    黯伢zz
    2019-11-13

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

    2019-11-13
    有用
    回复
  • 文杰
    文杰
    2018-08-24

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

    2018-08-24
    有用
    回复
  • 灵芝
    灵芝
    2018-08-22

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

    2018-08-22
    有用
    回复 1
    • 文杰
      文杰
      2018-08-23

      已提交了 代码片段。希望帮忙看一下,解决一下,感谢。问题描述:使用Canvas画图,创建(createCanvasContext) 绘制图片(drawImage)时出现了问题,图片的资源地址为本地用户文件。问题是 绘制的图片在模拟器上和IOS真机上是有图片显示的,但是在安卓真机上图片就没有显示~

      2018-08-23
      回复
  • Thomas Lambert
    Thomas Lambert
    2018-08-22


    什么鬼

    2018-08-22
    有用
    回复 1
    • 文杰
      文杰
      2018-08-22

      代码没有问题,只是我用的图片资源是 本地用户文件 中的图片。就显示不出来了

      2018-08-22
      回复
登录 后发表内容