温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在HTML5画布中绘制文本图形的方法

发布时间:2020-08-29 10:25:45 来源:亿速云 阅读:170 作者:小新 栏目:web开发

小编给大家分享一下在HTML5画布中绘制文本图形的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

  在HTML5中,首先需要使用<canvas>标签创建画布,然后在画布中使用javascript的font属性、fillText()或strokeText()方法来绘制文本图形。

HTML5的<canvas>标签可以用于在网页上绘制各种图形,那么如何绘制文本图形?本篇文章就给大家介绍在HTML5画布中绘制文本图形的方法,希望对你们有所帮助。

使用<canvas>标签创建画布

在HTML页面上,画布是一个的矩形区域。它使用canvas标签元素指定;默认情况下,画布中是没有边框、没有内容的,它就像一个容器。但我们可以使用它内置的属性或者css来添加一些样式。

例:使用width属性和height 属性设置宽高。

<canvas id = "mycanvas" width ="400" height ="250"> </canvas>

在HTML5画布中绘制文本图形的方法

我们还可以使用css来给画布添加边框、背景颜色,例:

<canvas id="myCanvas" width="300" height="200" style="border:2px solid red;background-color:pink">当前的浏览器不支持HTML5 canvas标签。</canvas>

如果无法创建画布时,就会显示<canvas>标签内的内容,提示当前的浏览器不支持HTML5 canvas标签。

效果图:

在HTML5画布中绘制文本图形的方法

使用JavaScript在画布中绘制文本图形

首先我们来看看要在画布上绘制文本图形,需要用到的最重要的属性和方法

1、font属性:定义文本的字体属性,通过font属性可以设置或返回画布上文本内容的当前字体属性。它的使用和CSS font属性相似。

2、fillText()方法:在画布上绘制“填充”文本,文本的颜色默认为:黑色。基本语法为:

fillText(text, x, y, [maxWidth])

3、strokeText()方法:在画布上绘制文本(无填充),也就是说绘制文本轮廓图形;同样,文本颜色默认为:黑色。基本语法为:

strokeText(text, x, y, [maxWidth])

参数说明:

text:表示在画布上需要输出的文本图形。

x,y:相对于画布来说,开始绘制文本的 x 坐标、y 坐标位置

maxWidth:可选参数,表示允许的最大文本宽度,单位为像素。

我们来看看其他可能使用到的文本的样式属性:

1、textAlign样式属性:根据X轴坐标,设置或返回文本内容的当前对齐方式。

取值有:start(默认值,指定文本的开始位置)、end(指定文本的结束位置)、center(指定文本中心的放置位置)、left(左对齐)、right(右对齐)。

2、fillStyle属性:设置或返回用于填充绘画的颜色、渐变或模式。

下面我们来绘制文本图形,通过示例来看看如何绘制:

例1:使用fillText()

<canvas id ="myCanvas" width ="400" height ="250" style="border:2px solid red;">当前浏览器不支持HTML5 canvas标记。</canvas>
<script>
var canvas = document.getElementById("myCanvas"); 
var ctx = canvas.getContext("2d"); 
ctx.font = "40px Arial";
ctx.fillText("亿速云!",10,50);
</script>

例2:使用strokeText()

<script>
var canvas = document.getElementById("myCanvas"); 
var ctx = canvas.getContext("2d"); 
ctx.font = "40px Arial";
ctx.strokeText("亿速云!",10,50);
</script>

例3:添加颜色和中心文本

<script>
var canvas = document.getElementById("myCanvas"); 
var ctx = canvas.getContext("2d");  
ctx.font="30px Comic Sans MS";
ctx.fillStyle = "red";
ctx.textAlign = "center";
ctx.fillText("亿速云!",canvas.width/2, canvas.height/2);
</script>

看完了这篇文章,相信你对在HTML5画布中绘制文本图形的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI