收藏
回答

canvas如何绘制摄像头拍摄的照片

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 canvas 客户端 6.7.3 2.4.1

- 需求的场景描述(希望解决的问题)

正在开发的场景,需将摄像头拍摄的照片,转换成二进制流并以base64编码。

上网查了一下,打算用canvas绘制后转码,但用摄像头拍摄后,只有wxfile://的文件路径,如何进行转码?


- 希望提供的能力

能够用canvas绘制路径为wxfile://的图片


最后一次编辑于  2018-11-30  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • 朷北
    朷北
    2018-11-30

    是不是少了一句啊 canvas.drawImage(res.tempImagePath, 00400400) 后面加个 canvas.draw() 试试

    2018-11-30
    赞同 1
    回复 2
    • 你大佬我
      你大佬我
      2018-12-04

      已解决,谢谢!

      2018-12-04
      回复
    • Rainbow*_*^@^
      Rainbow*_*^@^
      07-04回复你大佬我

      你好,请问后来解决了将拍摄的图片转为base64了吗?

      07-04
      回复
  • 卢霄霄
    卢霄霄
    2018-11-30

    照出来的,直接drawImage会失败吗?

    2018-11-30
    赞同
    回复 10
    • 你大佬我
      你大佬我
      2018-11-30

       我试了,drawImage的路径输入wxfile://的临时路径打不开

      2018-11-30
      回复
    • 卢霄霄
      卢霄霄
      2018-11-30回复你大佬我

      能贴下代码吗?应该是可以直接drawImage的说

      2018-11-30
      回复
    • 沁园秋.当归
      沁园秋.当归
      2018-11-30

      拍好会先存到本地就可以了’

      2018-11-30
      回复
    • 你大佬我
      你大佬我
      2018-11-30回复卢霄霄


      const ctx = wx.createCameraContext()

         ctx.takePhoto({

           quality: 'high',

           success: (res) => {

              const canvas = wx.createCanvasContext('photo')

             canvas.drawImage(res.tempImagePath, 0, 0, 400, 400)

           }

         })





      2018-11-30
      回复
    • 你大佬我
      你大佬我
      2018-11-30回复沁园秋.当归

      请问如何存到本地?

      2018-11-30
      回复
    查看更多(5)
  • -
    -
    2018-11-30

    小程序里不能转码,filereader也不能用,让后台提供一个转码的接口

    2018-11-30
    赞同
    回复