900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > canvas画布写文字:fillText()

canvas画布写文字:fillText()

时间:2023-06-19 02:58:32

相关推荐

canvas画布写文字:fillText()

绘制文本

ctx.font = ‘微软雅黑’ 设置字体strokeText()fillText(text,x,y,maxWidth) text 要绘制的文本x,y 文本绘制的坐标(文本左下角)maxWidth 设置文本最大宽度,可选参数 ctx.textAlign文本水平对齐方式,相对绘制坐标来说的 leftcenterrightstart 默认end ctx.direction属性css(rtl ltr) start和end于此相关 如果是ltr,start和left表现一致如果是rtl,start和right表现一致 ctx.textBaseline 设置基线(垂直对齐方式 ) top 文本的基线处于文本的正上方,并且有一段距离middle 文本的基线处于文本的正中间bottom 文本的基线处于文本的证下方,并且有一段距离hanging 文本的基线处于文本的正上方,并且和文本粘合alphabetic 默认值,基线处于文本的下方,并且穿过文字ideographic 和bottom相似,但是不一样 measureText() 获取文本宽度obj.width

//绘制一段文字

var ctx = document.querySelector("canvas").getContext("2d");var w = ctx.canvas.width;var h = ctx.canvas.height;//文字var txt = "好冷好冷";//绘制水平垂直线ctx.beginPath();ctx.moveTo(0, h / 2 - 0.5);ctx.lineTo(w, h / 2 - 0.5);ctx.moveTo(w /2 , 0);ctx.lineTo(w /2, h );ctx.strokeStyle = "#eee";ctx.stroke();//绘制文本ctx.beginPath();ctx.font = "40px Microsoft YaHei";//水平对齐方式ctx.textAlign = "center";//垂直对齐方式ctx.textBaseline = "middle";ctx.fillText(txt, w / 2, h / 2);//画下划线和文字一样长ctx.beginPath();var width = ctx.measureText(txt).width;ctx.moveTo(w / 2 - width / 2, h / 2 + 20);ctx.lineTo(w / 2 + width / 2, h / 2 + 20);ctx.strokeStyle = "#000";ctx.stroke();

效果图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。