小程序中 使用canvas 生成推广图片——wepy框架

现在小程序不能直接分享到朋友圈,所以另辟蹊径的有了生成 ‘推广图’ 让用户分享到朋友圈的方式就出来了。使用canvas 进行绘图的时候 主要用了 ctx.drawImage() API进行绘画,但是ctx.drawImage()只支持 本地形式的图片, 所以我们要先将网络图片转化成 本地图片

1.将网络图片转化成本地图片

wx.downloadFile({
     url: 'https://image.snaily.com.cn/erweima.png',       // 注意图片的域名
     success: (res) => {
       if (res.statusCode === 200) {
         console.log('缓存到本地路径地址')
         console.log(res.tempFilePath)
         this.shareTempFilePath = res.tempFilePath
         this.$apply()
       }
     }
 })
  1. 将图片绘制到 canvas 上
const ctx = wx.createCanvasContext('shareCanvas')
ctx.drawImage(this.tempFilePath, 0, 0, 280, 350)
ctx.stroke()
ctx.draw()

3.将图片保存到本地

wx.getImageInfo({
    src: this.shareTempFilePath,
    success: (ret) => {
      var path = ret.path
      wx.saveImageToPhotosAlbum({
        filePath: path,
        success(result) {
          console.log(result)
          this.canvasHide = false
          this.$apply()
          wx.showToast({
            title: '保存成功',
            icon: 'none'
          })
        }
      })
    }
})
  1. 微信管理平台配置 downloadFile的域名
    在这里插入图片描述
    用红色框框标出来的 就是你在微信管理后台 需要配置的域名。如果不配置的话,即使你将网络图片转化成本地图片拿到链接 也放不上去的。坑了我一天
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值