广告
返回顶部
首页 > 资讯 > 精选 >使用canvas怎么实现文本内容自动换行
  • 351
分享到

使用canvas怎么实现文本内容自动换行

2023-06-09 20:06:38 351人浏览 安东尼
摘要

本篇文章为大家展示了使用canvas怎么实现文本内容自动换行,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ctx: 画布的上下文环境content: 需要绘制的文本内容drawX: 绘制文本的x坐标

本篇文章为大家展示了使用canvas怎么实现文本内容自动换行,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

  • ctx: 画布的上下文环境

  • content: 需要绘制的文本内容

  • drawX: 绘制文本的x坐标

  • drawY: 绘制文本的y坐标

  • lineHeight:文本之间的行高

  • lineMaxWidth:每行文本的最大宽度

  • lineNum:最多绘制的行数

// 文字自动换行function textPrewrap(ctx, content, drawX, drawY, lineHeight, lineMaxWidth, lineNum) {    var drawTxt = ''; // 当前绘制的内容    var drawLine = 1; // 第几行开始绘制    var drawIndex = 0; // 当前绘制内容的索引    // 判断内容是否可以一行绘制完毕    if(ctx.measureText(content).width <= lineMaxWidth) {        ctx.fillText(content.substring(drawIndex, i), drawX, drawY);    } else {        for (var i = 0; i <= content.length; i++) {            drawTxt += content[i];            if (ctx.measureText(drawTxt).width > lineMaxWidth) {                if (drawLine === lineNum) {                    // 最后一行添加省略号                    ctx.fillText(content.substring(drawIndex, i) + '...', drawX, drawY);                    break;                } else {                    // 不是最后一行的情况                    ctx.fillText(content.substring(drawIndex, i + 1), drawX, drawY);                    drawIndex = i + 1;  // 记录当前行最后一个字符串的下一个idnex,用于绘制下行第一个字                    drawLine += 1;  // 行数+1                    drawY += lineHeight; // 绘制内容的y坐标对应增加行高                    drawTxt = ''; // 重置绘制的内容                }            }        }    }}

上述内容就是使用canvas怎么实现文本内容自动换行,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 使用canvas怎么实现文本内容自动换行

本文链接: https://www.lsjlt.com/news/257826.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用canvas怎么实现文本内容自动换行
    本篇文章为大家展示了使用canvas怎么实现文本内容自动换行,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ctx: 画布的上下文环境content: 需要绘制的文本内容drawX: 绘制文本的x坐标...
    99+
    2023-06-09
  • 怎么在html5中使用canvas绘制文本自动换行
    怎么在html5中使用canvas绘制文本自动换行?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一个150*100的canvas画布,加个边框明显边界<canvas&nb...
    99+
    2023-06-09
  • Android中怎么实现文本内容自动朗读功能
    Android中怎么实现文本内容自动朗读功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Android提供了自动朗读支持。自动朗读支持可以对指定文本内容进行朗读,从而发生声音...
    99+
    2023-05-30
    android
  • 怎么用Shell脚本实现批量替换文件内容
    这篇文章主要讲解了“怎么用Shell脚本实现批量替换文件内容”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Shell脚本实现批量替换文件内容”吧!系统:centos 5.x1.先确认有...
    99+
    2023-06-09
  • 怎么让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
    小编给大家分享一下怎么让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!HTML中pre和textarea可以显示预格式化的文本。即保留空格和换行符。...
    99+
    2023-06-09
  • 怎么用shell脚本实现自动切换内网和外网
    小编给大家分享一下怎么用shell脚本实现自动切换内网和外网,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先说明下我们的配置文件,都是类似格式的,假如内网是19...
    99+
    2023-06-09
  • Android中用StaticLayout实现文本绘制自动换行详解
    前言 使用Canvas的drawText绘制文本是不会自动换行的,即使一个很长很长的字符串,drawText也只显示一行,超出部分被隐藏在屏幕之外。可以逐个计算每个字符的宽度,...
    99+
    2022-06-06
    自动 自动换行 Android
  • css表格单元格中的长文本怎么实现自动换行
    这篇文章主要介绍“css表格单元格中的长文本怎么实现自动换行”,在日常操作中,相信很多人在css表格单元格中的长文本怎么实现自动换行问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-19
  • 怎么用css控制文本实现越界省略号以及自动换行
    这篇文章主要讲解了“怎么用css控制文本实现越界省略号以及自动换行”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用css控制文本实现越界省略号以及自动换...
    99+
    2022-10-19
  • 使用VBS脚本怎么实现遍历批量替换多目录多文件内容
    使用VBS脚本怎么实现遍历批量替换多目录多文件内容?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Set WshShell = CreateObje...
    99+
    2023-06-08
  • CSS怎么实现div内放长英文字母或长数字自动换行
    这篇文章主要讲解了“CSS怎么实现div内放长英文字母或长数字自动换行”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS怎么实现div内放长英文字母或长数...
    99+
    2022-10-19
  • 怎么用div+pre标签的组合实现文本原格式显示与自动换行
    这篇文章主要讲解了“怎么用div+pre标签的组合实现文本原格式显示与自动换行”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用div+pre标签的组合实...
    99+
    2022-10-19
  • CSS怎么实现连续数字和英文的自动换行
    本篇内容主要讲解“CSS怎么实现连续数字和英文的自动换行”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS怎么实现连续数字和英文的自动换行”吧!对于div,p...
    99+
    2022-10-19
  • 使用Shell脚本怎么从文件中逐行读取内容
    使用Shell脚本怎么从文件中逐行读取内容?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用for循环从文件中逐行读取内容:在默认情况现下此方法是逐个单词的读取文件内容,因...
    99+
    2023-06-09
  • 怎么用批处理实现文本内容居中显示
    这篇文章主要介绍了怎么用批处理实现文本内容居中显示,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。a.txt   代码: [Promise don't come eas...
    99+
    2023-06-08
  • 怎么在Linux中使用shell脚本自动执行脚本文件
    本篇文章为大家展示了怎么在Linux中使用shell脚本自动执行脚本文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、定时复制文件  a、在/usr/local/wfjb_web_back目录下...
    99+
    2023-06-09
  • 使用Java怎么查找文本特定内容后进行修改
    这期内容当中小编将会给大家带来有关使用Java怎么查找文本特定内容后进行修改,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种...
    99+
    2023-06-14
  • 怎么用批处理实现文本内容横列变纵列
    这篇文章主要为大家展示了“怎么用批处理实现文本内容横列变纵列”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用批处理实现文本内容横列变纵列”这篇文章吧。因为论坛会吞掉文本每行的第一个空格,现截...
    99+
    2023-06-08
  • 怎么使用white-space来阻止文字显示自动换行
    这篇文章主要介绍“怎么使用white-space来阻止文字显示自动换行”,在日常操作中,相信很多人在怎么使用white-space来阻止文字显示自动换行问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操...
    99+
    2022-10-19
  • Go怎么实现自动解压缩包及读取docx/doc文件内容
    这篇文章主要介绍“Go怎么实现自动解压缩包及读取docx/doc文件内容”,在日常操作中,相信很多人在Go怎么实现自动解压缩包及读取docx/doc文件内容问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go怎...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作