2023-08-21 canvas之fillText如何换行

前言:在做uniapp+小程序业务开发画布的业务时,遇到了文字过长需要换行的问题。

canvas的文本绘制:

ctx.fillStyle = '#fff';
ctx.font = '14px bold Arial';
ctx.fillText('这是一段需要换行的内容啦啦啦啦啦啦啦啦', 0, 0);

换行方式1:

1、设置最大宽度:100(canvas的fillStyle的第4个属性maxWidth为可选属性,需要多少具体根据业务来定);

ctx.fillText('这是一段需要换行的内容啦啦啦啦啦啦啦啦', 0, 0, 100);

2、判断要显示的文字内容是否超出100的长度,超出就截取一下,把超出的内容再用fillText来绘制;

以上是我现在采用的方法,而网友建议用换行符\n来进行操作,我尝试了一下行不通,难不成是因为uniapp框架的缘故?

换行方式2如下:

ctx.fillText('这是一段需要换行的内容\n啦啦啦啦啦啦啦啦', 0, 0, 100);

so,您get了吗。

posted @ 2023-08-21 16:16  叶乘风  阅读(889)  评论(0编辑  收藏  举报