收藏
回答

小程序canvas drawImage无法画base64的图片,求解

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug drawImage 客户端 6.7.2 2.2.4

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


开发者工具上能画,但是真机显示不了


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

2 个回答

  • 晨
    2018-08-23

    你好,目前drawImage暂不支持base64

    2018-08-23
    有用
    回复 3
    • 赵文慧
      赵文慧
      2018-08-24

      我也是同样的问题,但是为什么开发工具可以呀?就真机不可以

      2018-08-24
      回复
    • 晨
      2018-08-24回复赵文慧

      底层实现不同,开发工具仅供开发模拟,具体效果以真机为准

      2018-08-24
      回复
    • 养猪人
      养猪人
      2018-09-18回复

      有没有办法将base64变成临时路径

      2018-09-18
      回复
  • Nick
    Nick
    2023-09-30

    我也是研究了好半天。

    发现,通过使用wx.base64ToArrayBuffer(已停止维护)可以转换成arrayBuffer,然后就可以保存到文件了。

    const base64Part = dataURL.split(',')[1];
    const arrayBuffer = wx.base64ToArrayBuffer(base64Part);
    const fs = wx.getFileSystemManager();
    const filePath = wx.env.USER_DATA_PATH + '/savedImage.png';
    // 保存为文件
    fs.writeFile({
      filePath: filePath,
      data: arrayBuffer,
      encoding: 'binary',
      success: function () {
        console.log('文件保存成功:', filePath);
      },
      fail: function (err) {
        console.error('文件保存失败:', err);
      },
    });
    
    2023-09-30
    有用
    回复
登录 后发表内容