1.1.1 版本 canvas.setTextAlign 无效
发布于 5 年前 作者 yan07 20119 次浏览 来自 问答
ctx = wx.createCanvasContext('forWechat')
// 画图
ctx.drawImage('/img/for-save.jpg', 0, 0, 1220, 1800);
// 画字
ctx.setFillStyle('#ffffff')
ctx.setFontSize(50)
ctx.setTextAlign('center') // 对,这里不起作用
ctx.setTextBaseline && ctx.setTextBaseline('middle')
ctx.fillText(userInfo.nickName + '邀请你一起来0元秒杀', 610, 640)
ctx.fillText('资生堂惠润柔净洗发组合', 610, 730)
ctx.draw()
// 完成
setTimeout(() => {
  wx.canvasToTempFilePath({
    x: 0,
    y: 0,
    width: 1220,
    height: 1800,
    destWidth: 1220,
    destHeight: 1800,
    fileType: 'jpg',
    canvasId: 'forWechat',
    success: res => {
      console.log('图片生成', res.tempFilePath)
      img = res.tempFilePath
      wx.setStorageSync('saveImg', img)
      callback && callback(img)
    }
  })
}, 500)
2 回复
  1. 限定最低版本为 1.4 以上。

  2. 把字按居左来计算 left,反正 canvas 宽与字号宽有等比关系。

我也遇到类似的问题了,你解决了吗?

回到顶部