html5 canvas如何绘图文本换行
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,小编给大家分享一下html5 canvas如何绘图文本换行,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!怎么解决can
千家信息网最后更新 2025年01月18日html5 canvas如何绘图文本换行
小编给大家分享一下html5 canvas如何绘图文本换行,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
怎么解决canvas绘图过程中,drawText的换行问题,先看一个大家平时在canvas绘制文本都会遇到的问题:
一个150*100的canvas画布,加个边框明显边界
我们先来看fillText()方法,strokeText()方法同理
var c=document.getElementById("canvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#E992B9";ctx.lineWidth=1;var str = "假如生活欺骗了你,请不要悲伤!thank you!"ctx.fillText(str,0,20);
可以看到fillText()在固宽的canvas中,字数过多的时候,并不会自动换行,我们可以增加canvas本身的宽度,但这不是解决问题的根本方法。还记得之前介绍canvas基本api的时候,有一个函数,context.measureText(text)
这个函数可以测量字体的宽高度,那就好办了,我们计算好我们字符串的长度加上一个大概的宽度,基本上可以处理这种换行的问题了。
下面看具体实现方法:
var c=document.getElementById("canvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#E992B9";ctx.lineWidth=1; var str = "假如生活欺骗了你,请不要悲伤!thank you!"var lineWidth = 0;var canvasWidth = c.width;//计算canvas的宽度var initHeight=15;//绘制字体距离canvas顶部初始的高度var lastSubStrIndex= 0; //每次开始截取的字符串的索引for(let i=0;icanvasWidth){ ctx.fillText(str.substring(lastSubStrIndex,i),0,initHeight);//绘制截取部分 initHeight+=20;//20为字体的高度 lineWidth=0; lastSubStrIndex=i; } if(i==str.length-1){//绘制剩余部分 ctx.fillText(str.substring(lastSubStrIndex,i+1),0,initHeight); }
以上是"html5 canvas如何绘图文本换行"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
方法
问题
文本
绘图
字体
宽度
篇文章
高度
悲伤
内容
函数
字符
字符串
时候
部分
生活
明显
这不
不怎么
大部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
防诈数据库什么意思
软件开发工程师职业认知报告
无人机安卓软件开发
天正软件开发
湛江地产软件开发订制
ftp服务器的意义
浙江服务器虚拟化
软件开发员的行业分析
宇视科技是互联网企业吗
泉州远卓软件开发有限公司
PDF解析进数据库
服务器风扇转速多大正常
湖南长沙学计算机软件开发
sql数据库登录名解锁
华为国产化服务器是什么架构
怎样改变数据库中的关系是
厦门金税盘安全服务器地址
法律数据库收费吗
江西rpa软件开发
网络安全 实名制
数据库的宏组
政企合作网络安全
海淀网络安全白皮书
反恐精英服务器代码
实际应用中的网络安全协议
土地类型数据库的分析
选服务好的网络安全接入控制
如何连接象过河软件的数据库
哪个数据库的查重跟知网一样
洛阳网络安全工程师的课程