mpvue小程序用canvas保存图片到相册

<template>
  <div class="container">
    
    <canvas canvas-id="shareCanvas" style="width:480rpx;height:800rpx" ></canvas>
    <button @click="test">保存图片到手机相册</button>
  </div>
 
</template>

<script>

export default {
  data () {
    return {
      savedImgUrl:""
    }
  },

  methods: {
    test(){

//通过使用wx.getImageInfo这个API来下载一个网络图片到本地(并可获取该图片的尺寸等其他信息),然后调用ctx.drawImage方法将图片绘制到画布上,填满画布
      wx.getImageInfo({

        src:"http://www.mangowed.com/meinvImage/1-11111F01612.jpg",
        success:res=>{
          console.log(res)

//在画布上继续绘制一段文字,可能是一篇文章的作者、文章的标题和内容。
          const ctx = wx.createCanvasContext('shareCanvas')
          ctx.drawImage(res.path, 0, 0, 240, 400)
           ctx.setTextAlign('center')    // 文字居中
            ctx.setFillStyle('#000')  // 文字颜色:黑色
            ctx.setFontSize(22)         // 文字字号:22px
            ctx.fillText('我不知道:xcq', 22, 22)

//小程序码

const qrImgSize = 180
    ctx.drawImage(res[1].path, (600 - qrImgSize) / 2, 530, qrImgSize, qrImgSize)
    ctx.stroke()
    ctx.draw()

            ctx.stroke()
            ctx.draw()
           var that = this;
            setTimeout(function () {

//wx.canvasToTempFilePath和wx.saveImageToPhotosAlbum这两个API保存到手机,要的流程就是先通过wx.canvasToTempFilePath将上绘制的图像生成临时文件的形式,然后再通过wx.saveImageToPhotosAlbum进行保存到系统相册的操作。
                wx.canvasToTempFilePath({
                  x: 0,
                  y: 0,
                  width: 200,
                  height: 370,
                  destWidth: 1035,
                  destHeight: 1560,
                  canvasId: 'shareCanvas',
                  success: function (res) {
                  console.log(res, '保存')

//保存到手机相册
                  wx.saveImageToPhotosAlbum({
                  filePath: res.tempFilePath,
                  success: res=> {
                    console.log(res)
                  }
                })
                  }
                })
            }, 1000)
      }

    })

    }
  }
}
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值