返回

小程序Canvas自适应屏幕画海报并保存图片

见解分享

小程序的Canvas API是一个强大的工具,可以用来绘制各种图形,包括图像和文本。Canvas API还支持自适应布局,这意味着您的海报可以在不同设备上正确显示。

如何绘制自适应屏幕海报

  1. 首先,您需要创建一个新的小程序项目。
  2. 在项目的根目录下,创建一个名为index.js的文件。
  3. index.js文件中,添加以下代码:
const app = getApp()

Page({
  data: {
    screenWidth: 0,
    screenHeight: 0,
    posterUrl: ''
  },

  onLoad() {
    const that = this

    wx.getSystemInfo({
      success: (res) => {
        that.setData({
          screenWidth: res.windowWidth,
          screenHeight: res.windowHeight
        })
      }
    })
  },

  drawPoster() {
    const that = this

    const ctx = wx.createCanvasContext('myCanvas')

    ctx.drawImage('/path/to/image.png', 0, 0, that.data.screenWidth, that.data.screenHeight)

    ctx.setFontSize(20)
    ctx.setFillStyle('white')
    ctx.fillText('Hello World', 10, 100)

    ctx.draw(false, () => {
      wx.canvasToTempFilePath({
        canvasId: 'myCanvas',
        success: (res) => {
          that.setData({
            posterUrl: res.tempFilePath
          })
        }
      })
    })
  },

  savePoster() {
    const that = this

    wx.saveImageToPhotosAlbum({
      filePath: that.data.posterUrl,
      success: () => {
        wx.showToast({
          title: '保存成功'
        })
      }
    })
  }
})
  1. index.html文件中,添加以下代码:
<canvas id="myCanvas" width="{{screenWidth}}rpx" height="{{screenHeight}}rpx"></canvas>

<button type="button" bindtap="drawPoster">生成海报</button>
<button type="button" bindtap="savePoster">保存海报</button>
  1. 将您的小程序项目上传到微信开发者工具。
  2. 在微信开发者工具中,点击“预览”按钮。
  3. 您将看到一个带有“生成海报”和“保存海报”按钮的页面。
  4. 点击“生成海报”按钮,您将看到海报被绘制到画布上。
  5. 点击“保存海报”按钮,海报将被保存到您的设备。

总结

本教程向您展示了如何使用小程序的Canvas API绘制适应屏幕宽度的海报,并将其保存到设备。您还学习了如何使用rpx单位来确保您的海报在不同设备上都能正确显示。