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)
|
限定最低版本为 1.4 以上。
把字按居左来计算 left,反正 canvas 宽与字号宽有等比关系。
我也遇到类似的问题了,你解决了吗?