收藏
回答

用画布canvas组件做了一个签字板,签字完成发送后台时为什么手机运行与模拟器运行结果不一样?

fixSign: function(){
    const that = this;
    var sImg="";
    if(that.drawActions !=""){
      wx.showLoading({
        title'签字提交中',
      })
      that.context.draw(false,() => {
        wx.canvasToTempFilePath({ //获取生成的临时图片
          canvasId'myCanvas',
          successfunction (res{
            wx.getFileSystemManager().readFile({   // 文件管理系统按照base64方式读取生成的图片
              filePath: res.tempFilePath, //选择图片返回的相对路径
              encoding'base64'//编码格式
              successfunction(res)//成功的回调
                that.data.signImg = res.data;
                console.log(res.data)
                that.initData();//发送后台
              }
            })
          }
        })
      })  
    }

}

这个是将画布上的图片转成base64编码然后发送到后台存储。但是我再微信开发者工具上运行很完美,在手机上运行,貌似就只能把白色的背景照片转成base64,没有我签字的那些线条。哪位大佬能给我看一看~不胜感激

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

2 个回答

  • 貌似祸害
    貌似祸害
    2020-07-27

    canvas画完先保存成本地地址

    2020-07-27
    有用
    回复 4
    • 董志斌
      董志斌
      2020-07-27
      也就是先需要保存成本地照片然后再将照片转成base64对吗
      2020-07-27
      回复
    • 貌似祸害
      貌似祸害
      2020-07-27回复董志斌
      肯定啊,不管是用来保存还是用来转化,都需要有文件才行,你现在还只是canvas上画了
      2020-07-27
      1
      回复
    • 董志斌
      董志斌
      2020-07-27回复貌似祸害
      谢谢
      2020-07-27
      回复
    • 貌似祸害
      貌似祸害
      2020-07-27回复董志斌
      客气
      2020-07-27
      回复
  • Toon
    Toon
    2020-07-27

    真机上要网络图片才可以显示

    2020-07-27
    有用
    回复 1
    • 董志斌
      董志斌
      2020-07-27
      我不是需要显示,我是要把画完的照片发送给后台
      2020-07-27
      回复
登录 后发表内容
问题标签