微信小程序canvas生成图片并保存

需求:

做一个类似下图的功能。图片内容是动态的,用canvas画出来,生成临时图片,再保存。

实现:

<view class="canvasBox">
   <canvas canvas-id="myCanvas" class="myCanvas"></canvas>
</view>

<view class="groupBtn" >
     <van-button type="default" bind:click="saveImage">保存图片</van-button>
</view>
ImageDraw(){
  
  // 通过canvasAPI绘制   参考canvas文档使用
    const ctx = wx.createCanvasContext('myCanvas');

//绘制背景图   图片地址可以使网络地址、本地地址
    ctx.drawImage('../../images/invite.png', 0, 0, 320, 475);
    ctx.save();

//绘制背景图上二维码
    ctx.fillStyle="#FFFFFF";
    ctx.fillRect(110, 327, 104, 104 );
    ctx.lineCap="round";
    ctx.clip();
    ctx.drawImage('../../images/image14.png', 113, 330, 98, 98);
 
    ctx.restore();
    ctx.stroke()
    ctx.draw()
  },


  //保存群图片
  saveImage(){
   
   //生成临时图片
    wx.canvasToTempFilePath({
      canvasId: 'myCanvas',
      width: 320,
      height: 475,
      success: function (res) {

        //tempFilePath为生成的临时地址
        console.log(res.tempFilePath,'saveImageToPhotosAlbum')

        //保存到相册
        wx.saveImageToPhotosAlbum({
          filePath:res.tempFilePath,
          success(res) {
            wx.showToast({
              title:'保存成功'
            })
          },
          fail(err){
            wx.showToast({
              title:err.errMsg
            })
          }
        })
      }, fail: function(err) {
        wx.showToast({
          title:err.errMsg
        })
      }
    })
  },

 其他使用,查看微信开发文档

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值