微信小程序canvas文本自动换行最简单代码

微信小程序canvas文本自动换行,同样适用于普通的H5页面的canvas,注意调用方法前要设置字体,例如: ctx.font = '12px Arial'

/**
 * canvas文本自动换行,注意调用前要设置字体,例如: ctx.font = '12px Arial'
 * @param {*} ctx CanvasRenderingContext2D
 * @param {*} text  文本
 * @param {*} x 
 * @param {*} y 
 * @param {*} lw 行宽
 * @param {*} lh 行高
 * return 绘制文本所需的高度
 */
const fillTextLineBreak = (ctx,text,x,y,lw,lh)=> {
  let i = 0
  let n = 0
  let r = -1
  while (i < text.length){
    while (ctx.measureText(text.substring(n, i)).width < lw && i < text.length) {
      i++
    }
    r++
    ctx.fillText(text.substring(n, i), x, y + lh * r)
    n = i
  }
  return lh * r
}

使用:

context.font = 'bold 16px Arial'
const ty = fillTextLineBreak(context, title, 10, 10, 18)

觉得好用,点个赞呗!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值