小程序海报的制作与保存

小程序海报的制作与保存

一、wxml文件

 <!-- 用于显示制作的海报 --!>
    <image src="imagePath" style="width: 100px, height: 100px" round />

    <!-- 利用canvas画海报,不显示 注意不能使用wx:if 或者 hidden 实际测试当使用这两个方法影藏是海报都无法被渲染 --!>
    <!-- 可以使用fix定位来实现canvas隐藏 --!>
    <canvas canvas-id="canvas1"  style="width: 100px;height: 100px;position:fixed;top:-9999px" ></canvas>
    <button bindtap="save">保存海报</button>

二、绘制canvas

绘制方法可以参考:https://blog.csdn.net/abs625/article/details/100170552
使用二倍图解决保存的图片模糊问题
js:

const ctx1 = wx.createCanvasContext('canvas1')
  canvas() {
  ctx1.drawImage('背景图片地址', 0, 0, 10, 100)

  ctx1.setFontSize(40)
  ctx1.setTextBaseline('middle')
  ctx1.fillText('添加文字', 320, 140)

  //添加图片,若是添加网络图片需要先将图片存为本地临时图片
  ctx1.drawImage('本地图片地址', 320, 340, 200, 200)

  let that = this
  ctx1.draw(true, function () {
    wx.canvasToTempFilePath({
      x: 0,
      y: 0,
      width: 100,
      height: 1000,
      destWidth: 100,
      destHeight: 100,
      canvasId: 'canvas1',
      success: function (res) {
        that.setData({
          //保存地址
          imagePath: res.tempFilePath
        })
        console.log(res);
      },
      fail: function (res) {
        console.log(res)
      }
    })
  })
},

三、保存生成的海报到本地

js:

save() {
      wx.saveImageToPhotosAlbum({  //保存图片到相册
        filePath: this.data.imagePath,
        success: function () {
          wx.showToast({
            title: "生成图片成功!",
            duration: 2000
          })
        },
      })
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值