canvas的文本操作没有那么多内容就一篇文章介绍完毕吧!
代码如下:
canvas id="canvas" width="900" height="500"></canvas>
<script type="text/javascript">
//获得画板
var c=document.getElementById("canvas");
//获得绘画环境
//ps:线条样式在fillText和strokeText之前声明
var cv=c.getContext('2d');
// cv.font="80px 华文彩云";
// cv.fillStyle='yellow';
// cv.fillText('十月梦想,梦想起航',150,200,1000);
//
// cv.fill();
//空心文本操作
cv.font="40px 隶书";
cv.strokeStyle='greenyellow';
cv.strokeText('十月梦想,2018梦想起航',10,80,1000);
cv.stroke();
</script>
fill相关实心文字操作,stroke相关是空心,和之前的大体类似!
context.font="字体大小 字体类型"定义了文本的属性,
context.fillstyle='文本填充颜色';指定实心文字的填充色,
contetx.fillText('需要写入画板的文字',left,top,maxwidth);指定了写入画板的文字,文字所处画板的位置left,top,最后一个可选参数,文本最大的宽度,文本宽度超过会进行压缩,可以不写该属性!
空心文字写入画板,把fill换成stroke;
代码如下:
<canvas id="canvas" width="900" height="500"></canvas>
<script type="text/javascript">
//获得画板
var c=document.getElementById("canvas")
//获得绘画环境
var cv=c.getContext('2d');
//绘制参考线
// 水平线
cv.beginPath();//开启路径
cv.strokeStyle='white';
cv.lineWidth=3;
cv.moveTo(0,300);
cv.lineTo(900,300);
cv.stroke();
//垂直线,
cv.beginPath();//开启路径
cv.strokeStyle='white';
cv.lineWidth=3;
cv.moveTo(300,0);
cv.lineTo(300,500);
cv.stroke();
//文字属性设置
cv.font="35px 宋体";
cv.fillStyle="aqua";
cv.textAlign='center';//基线在文字的什么位置,lift,中间,right默认left
cv.textBaseline="buttom";//基线在文字的上,下,中间,默认bottom
cv.fillText('突如其来的装逼让我无法呼!',300,300,1000);
cv.fill();
</script>
需要制定文字参考线对于参考
参考线绘制完成后制定文本对齐方式
水平对齐方式cv.textAlign取值left,right,center,默认left
垂直方向对齐cv.textBaseline取值有top,bottom,middle,默认bottom
ps:对齐方式说明,取值的对齐方式与位置相反,即水平取值left,文本在右侧,垂直取值top文本在下面,可以简单理解,取值与文本的实际文字相反,另一种就是取什么值哪个参考线在文本什么方向
contetx.measure()方法获取文本宽度,具体使用如下
context.measureText('获取宽度的文本,也可以指定存放文本的字符串').width