收藏
回答

1.1.1 版本 canvas.setTextAlign 无效


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 个回答

  • 永恒君
    永恒君
    2018-06-11
    1. 限定最低版本为 1.4 以上。

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

    2018-06-11
    有用
    回复
  • 
    2018-06-10

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

    2018-06-10
    有用
    回复
登录 后发表内容