• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5 CANVAS:绘制文字

HTML5 CANVAS:绘制文字

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5教程,HTML5中国,HTML5 CANVAS:绘制文字,html5cn,html5资料,html5文章,ht等相关知识,匿名希望在学习及工作中可以帮助到您
1.jpg
  1. var canvas = document.getElementById("ex1");
  2. var context = canvas.getContext("2d");

  3. context.font = "normal 36px Verdana";
  4. context.fillStyle = "#000000";
  5. context.fillText("HTML5 Canvas Text", 50, 50);

  6. context.font = "normal 36px Arial";
  7. context.strokeStyle = "#000000";
  8. context.strokeText("HTML5 Canvas Text", 50, 90);
复制代码
  下面的图片是上面代码的返回结果:

2.jpg
  字体和样式
  当在HTML5 canvas上绘制文字的时候,我们可以设置文字的字体和样式。我们可以通过一组2D上下文的font属性来完成这些工作。这些属性和CSS中设置字体的属性是兼容的:
  1. [font style][font weight][font size][font face]
复制代码
  举例来说,我们可以这样设置字体:
  1. context.font = "normal normal 20px Verdana";
复制代码
  对于上面的这些属性,我们可以有下面的一些可取值:

   font style可取值有:
    normal
    italic
    oblique
    inherit

   font weight可取值有:
    normal
    bold
    bolder
    lighter
    auto
    inherit
    100
    200
    300
    400
    500
    600
    700
    800
    900

   font size:字体的尺寸,单位像素。
   ont face:字体。例如:verdana, arial, serif, sans-serif, cursive, fantasy, monospace等

  需要注意的是,不是所有的浏览器都支持所有这些属性的,实际使用中你需要根据实际情况做一些测试。

  绘制文字
  当在HTML5 canvas中绘制文字的时候,你可以绘制填充文字,也可以绘制描边文字。它们分别通过2D上下文的fillText()和strokeText()函数来实现。这两个函数的定义如下:
  1. fillText (textString, x, y [,maxWidth]);
  2. strokeText (textString, x, y [,maxWidth]);
复制代码
  textString是要绘制的文字。

  x和y表示文字在canvas上的位置。x参数是文字的X轴坐标,y是文字Y轴坐标,但是它如何在Y轴上定位还要取决于文本的基线。文本的基线会在后面介绍。

  maxWidth表示文字在水平方向上的最大宽度。详细内容接着往下看。

  下面是一个示例代码:
  1. context.font = "36px Verdana";
  2. context.fillStyle = "#000000";
  3. context.fillText("HTML5 Canvas Text", 50, 50);
复制代码
  文本的最大宽度
  可选参数maxWidth表示在canvas上绘制文字的时候,文字水平方向上最大的宽度不能大于参数指定的值。如果文本的宽度大于maxWidth指定的值,那么文字的宽度会被压缩。注意不是被剪裁掉。下面是一个例子,在canvas中绘制两串相同的文本,但是使用不同的maxWidth属性:
  1. context.font = "36px Verdana";
  2. context.fillStyle = "#000000";
  3. context.fillText("HTML5 Canvas Text", 50, 50);
  4. context.fillText("HTML5 Canvas Text", 50, 100, 200);
复制代码
  上面的代码的返回结果如下,注意第二串文字被压缩为总宽度200像素:

3.jpg
  文字的颜色
  文字的填充或描边颜色是通过2D上下文的fillStyle和strokeStyle属性来完成的。实现方式和图形的方式相同。可以参考HTML5 Canvas:绘制矩形中的介绍,这里不再重复。

  测量文本的宽度
  在2D上下文中有一个函数可以用于测量文本的宽度,返回以像素为单位的结果值。这个函数不能测量高度。这个函数是measureText()。下面是一段示例代码:
  1. var textMetrics = context.measureText("measure this");

  2. var width = textMetrics.width;
复制代码
  通过测量文本的宽度,我们可以知道当前的这些文字是否能够放在当前的canvas容器中,或者其它一些用途。

  文本的基线
  文本的基线用于决定如何解释fillText()和strokeText()函数中的y参数。通俗来讲,就是文字在垂直方向上如何定位。注意,在不同的浏览器中,这些解释可能会稍微有一些不同。

  可以通过2D上下文的textBaseline属性来设置文本的基线。

  文本基线的语法为:
  1. ctx.textBaseline=
  2. "top" || "hanging" || "middle" || "alphabetic" || "ideographic" || "bottom";
复制代码
  下表中列出了文本基线的可取值及其描述。
  
取值 描述
top 文本以文本中最高的字符为基线进行对齐
hanging 文本的基线是悬停线(hanging baseline)。它和top取值基本相同,多数情况下你可能看不出有什么区别
middle 文本的基线是文字的中心线

您可能想查找下面的文章:

  • 一款利用html5和css3动画排列人物头像的实例演示
  • html5教程调用绘图api画简单的圆形代码分享
  • html5教程画矩形代码分享
  • html5教程制作简单画板代码分享
  • html5基础教程常用技巧整理
  • html5教程-Canvas入门
  • html5教程画矩形代码分享
  • HTML5晃动DeviceMotionEvent事件
  • HTML5教程之html 5 本地数据库(Web Sql Database)
  • HTML5中对contenteditable属性的解释与规定

相关文章

  • 2018-12-03svg的案例详解
  • 2017-08-06HTML5中的新元素介绍
  • 2018-12-03为什么优酷在PC端浏览器依然用Flash?
  • 2018-12-03HTML5中新事件的详细介绍
  • 2018-12-03HTML5和原生app如何进行交互?
  • 2018-12-03html5实现表单的复选框验证
  • 2018-12-03怎样开发优秀的HTML5游戏-迪斯尼《寻找奥兹之路》游戏技术详解(二)
  • 2018-12-03Bootstrap拟态框+支付宝首页
  • 2018-12-03HTML5边玩边学(四)-变幻的色彩
  • 2018-12-03HTML5本地存储之localStorage、sessionStorage的具体分析

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5 canvas实现雪花飘落特效_html5教程技巧
    • 网页中的电话号码如何实现一键直呼效果_附示例
    • 基于jQuery和HTML5的日历时钟插件 的图文详解
    • 前端框架-弹窗的研究
    • canvas多边形的画法示例
    • html5实现canvas阴影效果示例_html5教程技巧
    • H5设置或返回音频/视频所属的媒体组合的名称的属性mediaGroup
    • 创造更好的浏览体验-HTML5 history API
    • HTML5 CANVAS:绘制图片
    • 关于7个华丽的基于Canvas的HTML5动画的图文详细介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有