收藏
回答

小程序如何把图片转换成base64

小程序chooseImage时如何把图片转换成base64

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

44 个回答

  • 2018-02-02

    第二页。。。

    2018-02-02
    有用
    回复
  • 2018-02-02

    我能 看见 呀 就在 我上面

    2018-02-02
    有用
    回复
  • 2018-02-02

    。。。

    2018-02-02
    有用
    回复
  • 2018-02-02

    哎,我的回答哪去了?


    2018-02-02
    有用
    回复
  • 2018-02-02

    666 我的兄弟  我去试试

    2018-02-02
    有用
    回复
  • 2018-01-31

    到底怎么 转呀  wx.chooseImage({      success ----> 返回的 是一个临时地址 我在 网上找到三种 转 Base64

    1. http://blog.csdn.net/huangmeimao/article/details/74905749 ---->这个大佬写的 utils.js

    2. var uploadImage = this.data.imageList[0]var reader = new FileReader()

    3.     reader.onload = function (e) {      
          var arrayBuffer = reader.result;      
          var base64 = wx.arrayBufferToBase64(arrayBuffer)
      }
      reader.readAsArrayBuffer(new Blob(this.data.imageList)) 
      3. 用画布 去重新铺 然后返回 一个 Base64
      我都试了试 不好用

      至于楼上上上 兄弟 说的 getImageData  在 api 里 也没找到  很头疼
      求一个 好方法


      能把 chooseImage 返回的  图片 给转成 Base64 二进制的 编码

      拜托了 \
      拜托了 拜托了\
    2018-01-31
    有用
    回复
  • 2018-01-24

    只是见过这个




    2018-01-24
    有用
    回复
  • 〰Astorm
    〰Astorm
    2018-01-24

    试了一下


    test3: function () {
        const ctx = wx.createCanvasContext('myCanvas')
     
        wx.chooseImage({
          success: res => {
            ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100)
            ctx.draw()
     
            wx.canvasGetImageData({
              canvasId: 'myCanvas',
              x: 0,
              y: 0,
              width: 100,
              height: 100,
              success: res=> {
                console.log(res.width) // 100
                console.log(res.height) // 100
                console.log(res.data instanceof Uint8ClampedArray) // true
                console.log(res.data.length) // 100 * 100 * 4
                console.log(res.data)
     
                var base64 = wx.arrayBufferToBase64(res.data.buffer);
     
                this.setData({
                  b64: base64
                });
              }
            })
          }
        })
      }


    发现最终的base64结果是:

    AAAAAAAAAAAAAA(非常多个A)AAA==


    主要是不知道canvasGetImageData得出的Uint8ClampedArray是什么,应该怎么样转成ArrayBuffer,我代码那样的转化看起来应该是姿势不对

    2018-01-24
    有用
    回复
  • 〰Astorm
    〰Astorm
    2018-01-24

    现在更新了一个api,canvas里有一个getImageData了,


    没找到0,0,确定有?


    https://mp.weixin.qq.com/debug/wxadoc/dev/api/canvas/draw-image.html?search-input=getImageData



    2018-01-24
    有用
    回复
  • 2018-01-24

    现在更新了一个api,canvas里有一个getImageData了,


    2018-01-24
    有用
    回复

正在加载...

登录 后发表内容