水平对齐textalign
javascript code复制内容到剪贴板
context.textalign="center|end|left|right|start";
其中各值及意义如下表。
<!doctype html> <html lang="zh"> <head> <meta charset="utf-8"> <title>textalign</title> <style> body { background: url("./images/bg3.jpg") repeat; } #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; } </style> </head> <body> <p id="canvas-warp"> <canvas id="canvas"> 你的浏览器居然不支持canvas?!赶快换一个吧!! </canvas> </p> <script> window.onload = function(){ var canvas = document.getelementbyid("canvas"); canvas.width = 800; canvas.height = 600; var context = canvas.getcontext("2d"); context.fillstyle = "#fff"; context.fillrect(0,0,800,600); // 在位置 400 创建蓝线 context.strokestyle="blue"; context.moveto(400,100); context.lineto(400,500); context.stroke(); context.fillstyle = "#000"; context.font="50px arial"; // 显示不同的 textalign 值 context.textalign="start"; context.filltext("textalign=start", 400, 120); context.textalign="end"; context.filltext("textalign=end", 400, 200); context.textalign="left"; context.filltext("textalign=left", 400, 280); context.textalign="center"; context.filltext("textalign=center", 400, 360); context.textalign="right"; context.filltext("textalign=right", 400, 480); }; </script> </body> </html>
值描述
start 默认。文本在指定的位置开始。
end 文本在指定的位置结束。
center 文本的中心被放置在指定的位置。
left 文本左对齐,
right 文本右对齐。
我们通过一个例子来直观的感受一下。
javascript code复制内容到剪贴板
<!doctype html> <html lang="zh"> <head> <meta charset="utf-8"> <title>textbaseline</title> <style> body { background: url("./images/bg3.jpg") repeat; } #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; } </style> </head> <body> <div id="canvas-warp"> <canvas id="canvas"> 你的浏览器居然不支持canvas?!赶快换一个吧!! </canvas> </div> <script> window.onload = function(){ var canvas = document.getelementbyid("canvas"); canvas.width = 800; canvas.height = 600; var context = canvas.getcontext("2d"); context.fillstyle = "#fff"; context.fillrect(0,0,800,600); //在位置 y=300 绘制蓝色线条 context.strokestyle="blue"; context.moveto(0,300); context.lineto(800,300); context.stroke(); context.fillstyle = "#00aaaa"; context.font="20px arial"; //在 y=300 以不同的 textbaseline 值放置每个单词 context.textbaseline="top"; context.filltext("top",150,300); context.textbaseline="bottom"; context.filltext("bottom",250,300); context.textbaseline="middle"; context.filltext("middle",350,300); context.textbaseline="alphabetic"; context.filltext("alphabetic",450,300); context.textbaseline="hanging"; context.filltext("hanging",550,300); }; </script> </body> </html>
运行结果:
垂直对齐textbaseline
javascript code复制内容到剪贴板
context.textbaseline="alphabetic|top|hanging|middle|ideographic|bottom";
其中各值及意义如下表。
值描述
alphabetic 默认。文本基线是普通的字母基线。
top 文本基线是em方框的顶端。
hanging 文本基线是悬挂基线。
middle 文本基线是em方框的正中。
ideographic 文本基线是表意基线。
bottom 文本基线是em方框的底端。
首先咱们通过一个图来看一下各个基线代表的位置。
我们通过一个例子来直观的感受一下。
javascript code复制内容到剪贴板
<!doctype html> <html lang="zh"> <head> <meta charset="utf-8"> <title>textbaseline</title> <style> body { background: url("./images/bg3.jpg") repeat; } #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; } </style> </head> <body> <p id="canvas-warp"> <canvas id="canvas"> 你的浏览器居然不支持canvas?!赶快换一个吧!! </canvas> </p> <script> window.onload = function(){ var canvas = document.getelementbyid("canvas"); canvas.width = 800; canvas.height = 600; var context = canvas.getcontext("2d"); context.fillstyle = "#fff"; context.fillrect(0,0,800,600); //在位置 y=300 绘制蓝色线条 context.strokestyle="blue"; context.moveto(0,300); context.lineto(800,300); context.stroke(); context.fillstyle = "#00aaaa"; context.font="20px arial"; //在 y=300 以不同的 textbaseline 值放置每个单词 context.textbaseline="top"; context.filltext("top",150,300); context.textbaseline="bottom"; context.filltext("bottom",250,300); context.textbaseline="middle"; context.filltext("middle",350,300); context.textbaseline="alphabetic"; context.filltext("alphabetic",450,300); context.textbaseline="hanging"; context.filltext("hanging",550,300); }; </script> </body> </html>
运行结果:
相关推荐:
html5 canvas基本绘图之绘制线条
html5生成柱状图(条形图)效果的实例代码
以上就是html5 canvas实现文本对齐的方法总结的详细内容。
