微信小程序> 微信小程序canvas文本换行效果

微信小程序canvas文本换行效果

浏览量:566 时间: 来源:进阶的码农

我们在canvas上绘制多行文本的时候,不可能一行一行的绘制,这时就需要到了换行这个功能。

文本换行

参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、(不用管)6、文本的宽度

//文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度    drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth) {        var lineWidth = 0;        var lastSubStrIndex = 0; //每次开始截取的字符串的索引        for (let i = 0; i  str.length; i++) {            lineWidth += ctx.measureText(str[i]).width;            if (lineWidth  canvasWidth) {                ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight); //绘制截取部分                initHeight += 16; //16为字体的高度                lineWidth = 0;                lastSubStrIndex = i;                titleHeight += 30;            }            if (i == str.length - 1) { //绘制剩余部分                ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);            }        }        // 标题border-bottom 线距顶部距离        titleHeight = titleHeight + 10;        return titleHeight    },

使用方法跟普通方法是一样的:

_this.drawText(context, content, 74, 286, 148, 227);

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎