songfens 2020-01-08
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>19-Canvas绘制文字</title>
<style>
*{
margin: 0;
padding: 0;
}
canvas{
display: block;
margin: 0 auto;
background: red;
}
</style>
</head>
<body>
<canvas width="800" height="400"></canvas>
<script>
// 1.拿到canvas
let oCanvas = document.querySelector("canvas");
// 2.从canvas中拿到绘图工具
let oCtx = oCanvas.getContext("2d");
// 3.绘制参考线
let canvasWidth = oCtx.canvas.width;
let canvasHeight = oCtx.canvas.height;
oCtx.moveTo(0, canvasHeight/2);
oCtx.lineTo(canvasWidth, canvasHeight/2);
oCtx.stroke();
oCtx.moveTo(canvasWidth/2, 0);
oCtx.lineTo(canvasWidth/2, canvasHeight);
oCtx.stroke();
// 4.绘制文字
let str = "小白兔真可爱两只耳朵竖起来";
// 通过font属性可以设置文字的大小和样式
oCtx.font = "50px 微软雅黑";
// 通过textBaseline属性可以设置文字垂直方向的对齐方式
// 注意点: 在对齐的时候是以绘制文字的y作为参考点进行对齐的
oCtx.textBaseline = "middle";
// 通过textAlign属性可以设置文字水平方向的对齐方式
// 注意点: 在对齐的时候是以绘制文字的x作为参考点进行对齐的
oCtx.textAlign = "center";
/*
注意点:
在绘制文字的时候, 是以文字的左下角作为参考点进行绘制
* */
//不填充文字
// oCtx.strokeText(str, canvasWidth/2, canvasHeight/2);
//填充文字
// oCtx.fillText(str, canvasWidth/2, canvasHeight/2);
</script>
</body>
</html>