亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

html5 canvas的繪制文本自動(dòng)換行的示例代碼

2024-08-26 00:21:01
字體:
供稿:網(wǎng)友

本文介紹怎么解決canvas繪圖過程中,drawText的換行問題,先看一個(gè)大家平時(shí)在canvas繪制文本都會(huì)遇到的問題:

一個(gè)150*100的canvas畫布,加個(gè)邊框明顯邊界

<canvas id="canvas" style="border:solid 1px darkgoldenrod;" width="200px" height="100px"></canvas>

我們先來看fillText()方法,strokeText()方法同理

html5,canvas,自動(dòng)換行

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中,字?jǐn)?shù)過多的時(shí)候,并不會(huì)自動(dòng)換行,我們可以增加canvas本身的寬度,但這不是解決問題的根本方法。還記得之前介紹canvas基本api的時(shí)候,有一個(gè)函數(shù),context.measureText(text) 這個(gè)函數(shù)可以測量字體的寬高度,那就好辦了,我們計(jì)算好我們字符串的長度加上一個(gè)大概的寬度,基本上可以處理這種換行的問題了。

下面看具體實(shí)現(xiàn)方法:

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;//計(jì)算canvas的寬度var initHeight=15;//繪制字體距離canvas頂部初始的高度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),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,自動(dòng)換行

算法:計(jì)算字符串str里面每個(gè)字符的寬度的和lineWidth,如果大于canvas的寬度,就截取這部分進(jìn)行繪制,然后重置lineWidth,保存開始截取的最后的索引,當(dāng)循環(huán)變量i為最后一個(gè)字符的時(shí)候,直接繪制剩余部分。

接下來:我們封裝成一個(gè)方法,方便以后直接調(diào)用:

/*str:要繪制的字符串canvas:canvas對象initX:繪制字符串起始x坐標(biāo)initY:繪制字符串起始y坐標(biāo)lineHeight:字行高,自己定義個(gè)值即可*/function canvasTextAutoLine(str,canvas,initX,initY,lineHeight){    var ctx = canvas.getContext("2d");     var lineWidth = 0;    var canvasWidth = c.width;     var lastSubStrIndex= 0;     for(let i=0;i<str.length;i++){         lineWidth+=ctx.measureText(str[i]).width;         if(lineWidth>canvasWidth-initX){//減去initX,防止邊界出現(xiàn)的問題            ctx.fillText(str.substring(lastSubStrIndex,i),initX,initY);            initY+=lineHeight;            lineWidth=0;            lastSubStrIndex=i;        }         if(i==str.length-1){            ctx.fillText(str.substring(lastSubStrIndex,i+1),initX,initY);        }    }  }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請移步到HTML教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产高清在线不卡| 3atv一区二区三区| 国产一区二区三区四区五区六区| 午夜日韩在线| 一级黄色a视频| 亚洲石原莉奈一区二区在线观看| 最近最好的中文字幕2019免费| 成人黄页网站视频| 亚洲美女福利视频网站| 麻豆影院在线| 免费大片在线观看| 中文字幕 国产| 亚洲福利视频久久| 91精品视频免费在线观看| 成年人在线免费观看视频网站| 日本三级视频网站| 欧美成人手机在线视频| 日韩免费在线观看av| 亚洲成人五区| 国产成人亚洲欧洲在线| 香蕉视频官网在线观看日本一区二区| 91偷拍与自偷拍精品| 国产精品高清网站| 久久免费精品国产| 欧美日韩国产综合一区二区三区| 二区三区四区高清视频在线观看| 亚洲免费视频二区| 亚洲一区欧美| 午夜日韩av| 亚洲伦理网站| 久久国内精品自在自线400部| 久久久午夜精品福利内容| 亚洲国产va精品久久久不卡综合| 最近免费中文字幕大全免费版视频| 日本福利午夜视频在线| 在线观看黄网站| 免费亚洲电影| 欧美h片在线观看| 成年网站在线观看| 精品久久久久久久久久久久包黑料| 黄页视频在线免费观看| 手机看片福利永久国产日韩| 久久av偷拍| 日本一区中文字幕| 国产欧美日韩最新| 一本色道久久综合亚洲精品婷婷| 精品国产电影一区| 久久精品国产电影| 久久免费福利| 日本资源在线| sm捆绑调教国产免费网站在线观看| 一区二区三区天堂av| 亚洲无码久久久久久久| 欧美aaaa视频| 欧美日韩中文字幕在线观看| 欧美日韩一区在线观看视频| 无码任你躁久久久久久久| 国产私人尤物无码不卡| 国产在线视频二区| 久久精品在线播放| 中国人体摄影一区二区三区| 免费的黄色片| 永久免费不卡在线观看黄网站| 欧美日韩电影一区二区| 性高湖久久久久久久久aaaaa| 无码精品一区二区三区在线播放| 精品88久久久久88久久久| 99国产**精品****| 懂色av一区二区三区免费看| 欧美一级久久久| 狠狠综合久久| 久久男人资源站| 不卡电影一区二区三区| 欧美成人黄色网址| 黑人巨大xxx| 91麻豆精品国产91久久久平台| 日韩在线视频免费观看| 一区二区三区精品| 免费v片在线观看| 免费黄色在线| 精品国产免费人成电影在线观...| 国产在线激情视频| 亚洲精品视频一二三| 国产精品视频一区二区高潮| 久久精品a一级国产免视看成人| 51精产品一区一区三区| 中文一区一区三区高中清不卡免费| 日本在线观看不卡| 亚洲成在人线免费| 欧美—级在线免费片| av剧情在线观看| 高清一区二区视频| 日韩理论片在线| 免费午夜一级| 精品美女视频| 日韩成人动漫在线观看| 欧美日韩四区| 日韩码欧中文字| 美女亚洲一区| 欧美在线高清视频| 国产精品久久免费| 国产精品美女久久久久av爽李琼| 亚洲韩国日本中文字幕| 潘金莲一级淫片aaaaaa播放1| 国内揄拍国内精品久久| 性欧美大战久久久久久久| av免费观看久久| 国产精品久久久久天堂| 欧美影院一区二区三区| 亚洲国产精品视频一区| 久久大综合网| 视频国产一区二区三区| 欧美偷拍视频| 91福利在线免费观看| 久久亚洲国产中v天仙www| 青青草自拍偷拍| 在线观看日韩av先锋影音电影院| 亲爱的老师6电影韩剧| 国产在线观看h| 加勒比久久综合| 亚洲图片在线| 亚洲精品九九| 香蕉自在线视频| 久久国产精品波多野结衣| 三上悠亚亚洲一区| 51午夜精品视频| 四虎永久在线精品| 久久66热re国产毛片基地| 国产精品久久久久秋霞鲁丝| 国产剧情av片巨作醉酒女邻居| 日韩啪啪电影网| 波多野结衣大片| 看全色黄大色黄女片18| 青青草激情视频| 欧美aaa免费| 亚洲欧洲日韩综合二区| 久久亚洲综合国产精品99麻豆精品福利| 成年人黄色在线观看| 国产日韩网站| 国产精品果冻传媒| 欧美日韩中国免费专区在线看| 国产成人拍精品视频午夜网站| 天天操,天天操| 在线观看国产区| 日韩精品第一| 日本一区二区在线视频观看| 欧美一区二区三区电影| 免费视频一区二区三区在线观看| 色撸撸在线观看| 一区二区精品伦理...| 亚洲精品视频免费观看| 国产精品成人自拍| 日韩欧美综合在线| 韩国三级在线观看久| 亚洲国产综合在线看不卡| 波多野结衣啪啪| 国语对白做受xxxxx在线中国| 果冻天美麻豆一区二区国产| 国产1卡2卡三卡四卡网站| 国产精品久久久久久久久电影网| 青青草原播放器| 亚洲成人综合网站| 国产精品久久久久久久久久久久| 天堂网av成人| 国产精品中文字幕在线观看| 91久久久久久久一区二区| 99久久久精品视频| 亚洲免费在线观看| 护士精品一区二区三区| 亚洲欧美日韩一区| 在线一区二区视频| 91精品国产福利在线观看| 成人黄色免费看| 色综合久久六月婷婷中文字幕| 欧美电影免费网站| 欧美sss在线视频| 成人片在线播放| 亚洲一区电影777| 欧美精品少妇videofree| 欧美伊人影院| 亚洲成人av一区| 久久久久久久久网| 国产第一亚洲| 丝袜脚交免费网站xx| 99re6热在线精品视频| 三大队在线观看| 都市激情亚洲综合| 日本www.色| 91蝌蚪视频在线观看| 精品国产一区二区三区免费| 欧美深夜视频| 亚洲av成人无码一二三在线观看| 欧美亚洲国产视频小说| 精产国品自在线www| 精品一区二区三区四区在线| 亚洲天堂视频一区| 国产厕所精品在线观看| 清纯唯美亚洲激情| 国产成人精品www牛牛影视| 青花影视在线观看免费高清| 久久国产精品精品国产色婷婷| 日韩视频一区二区三区在线播放免费观看| 欧美粗暴jizz性欧美20| 亚洲高清电影| 欧美下载看逼逼| 中文字幕av一区二区三区四区| 亚洲美女精品视频| 九九99玖玖| 97在线国产视频| 亚洲成**性毛茸茸| 天堂在线视频免费| 综合视频在线观看| www.精品| 人人干人人插| 国产在线视频一区二区| 国产成人一区二区三区影院在线| 成人a视频在线| 成人精品视频在线观看| 中文av一区二区三区| 看全色黄大色大片免费久久久| 精品99又大又爽又硬少妇毛片| 91免费在线看片| 精选一区二区三区四区五区| 欧美日韩综合视频| 重囗味另类老妇506070| 免费一级在线观看| 国产黄在线观看免费观看不卡| 成人黄色在线| 亚洲国产精品成人久久蜜臀| 欧美日韩亚洲精品内裤| 视频二区在线播放| 久久精品在线视频| 日本精品专区| 中文字幕乱码av| 国产精品xxxxxx| 美女扒开腿让男人桶爽久久软| 激情五月***国产精品| 老子影院午夜伦不卡大全| 欧美日韩亚洲一| 99久久综合色| 欧美精品aⅴ在线视频| 91精品久久久久久久蜜月| 男人草女人视频| 国产乱码久久久久久| 亚洲欧美日韩综合aⅴ视频| 国产高中女学生第一次| 亚洲一二三专区| 国产精品福利av| 欧美一区二区在线观看视频| 黄色一级片免费播放| 99青草视频在线播放视| 日本成人在线不卡视频| 亚洲 自拍 另类 欧美 丝袜| 精品久久久久久中文字幕人妻最新| 亚洲午夜久久久久久久国产| 亚洲欧美视频在线观看| 最近2019中文免费高清视频观看www99| 亚洲国产精品欧美一二99| 一区二区国产日产| 中文字幕国产精品久久| 久久av无码精品人妻系列试探| 亚洲一二区视频| 欲求不满中文字幕| 在线免费激情视频| 亚洲最新无码中文字幕久久| 国产69精品久久久久999小说| 91久久精品国产91性色69| 欧美三区免费完整视频在线观看| 欧美日韩专区| 一区二区电影在线观看| 成人妖精视频yjsp地址| 91亚洲精品乱码久久久久久蜜桃| 欧美日韩免费精品| 国产成人无码一区二区在线观看| 99热99re6国产在线播放| 91精品国产日韩91久久久久久| 六月丁香色婷婷| 日本大臀精品| 国产夫妻视频| 日韩av免费在线播放| 久久综合av免费| 欧美国产日本高清在线| 亚洲男人的天堂在线播放| 亚洲日本电影| 91天堂素人约啪| 国产一区二区久久久| 性欧美lx╳lx╳| 一级黄色a毛片| 欧美福利视频在线| 国产一区2区在线观看| 五月天亚洲婷婷| 精品视频一区在线| 欧美午夜激情影院| 色狠狠av一区二区三区| 中文字幕高清av| 久久久午夜精品| 色一区二区三区四区| 亲爱的老师9免费观看全集电视剧| 亚洲综合中文字幕在线| 免费人成在线观看| 亚洲国产毛片完整版| 写真片福利在线播放| 自拍偷拍亚洲精品| 国产精品7777777| 国产精品99久久99久久久| aa成人免费视频| 亚洲一区二区三区视频播放| 天天性天天草| 国产欧美日韩专区| 一区 二区 三区| 国产精品v一区二区三区| 青青草原网站在线观看| 在线视频观看亚洲| 国产精品自拍第一页| 欧美黄色片在线观看| 91精品国产欧美一区二区| 大桥未久av一区二区三区| av中文资源在线资源免费观看| 亚洲精品国精品久久99热| 国产稀缺精品盗摄盗拍| 首页综合国产亚洲丝袜| 中文字幕人妻一区二区三区| 日韩欧美视频网站| 能在线观看的av| 另类视频一区二区三区| 亚洲人成电影在线观看网| 日本不卡高清视频一区| 岛国精品一区二区|