在Canvas中,我们可以使用strokeText()方法来绘制“描边文本”。“描边文本”是指空心的文本。
语法:
strokeText(text,x,y,maxWidth);
说明:
参数text是一个字符串文本。
参数x表示文本的x坐标,也就是文本最左边的坐标。
参数y表示文本的y坐标,也就是文本最下边的坐标(注意是最下边,而不是最上边)。
参数maxWidth是可选参数,表示允许的最大文本的宽度(单位为px)。如果文本宽度超出maxWidth值,文本会压缩至maxWidth值的宽度。
看下面一段代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>strokeText()方法</title>
<script>
function $(id){
return document.getElementById(id);
}
window.onload=function(){
var cnv=$('canvas');
var cxt=cnv.getContext("2d");
var txt='伟大的祖国';
cxt.font='bold 30px 微软雅黑'; //注意是cxt.font而不是txt.font
cxt.strokeStyle='skyblue';
cxt.strokeText(txt,30,60);
};
</script>
</head>
<body>
<canvas id="canvas" width=200 height=150 style="border:1px solid grey;"></canvas>
</body>
</html>
浏览器预览效果图如下:
当cxt.strokeText(txt,30,60);改为cxt.strokeText(txt,30,60,100),也就是为strokeText()方法添加maxWidth参数后,在浏览器中的效果预览图如下,可以看出文本已经被压缩了: