方法

font () 描述绘制文字时,当前字体样式的属性

参数:
ctx.font = value
value:
符合 CSS font 语法的DOMString 字符串。默认字体是 10px sans-serif。

strokeText() 给定的 (x, y) 位置绘制文本的方法

ctx.strokeText(text, x, y [, maxWidth])
参数:
text
使用当前 font,textAlign,textBaseline和direction 的值对文本进行渲染。
x
文本起始点的 x 轴坐标。
y
文本起始点的 y 轴坐标。
maxWidth 可选
需要绘制的最大宽度。如果指定了值,并且经过计算字符串的宽度比最大宽度还要宽,字体为了适应会使用一个水平缩小的字体(如果通过水平缩放当前的字体,可以进行有效的或者合理可读的处理)或者小号的字体。

fillText() 在 (x, y) 位置填充文本的方法

ctx.fillText(text, x, y, [maxWidth])
参数:
text
使用当前的 font, textAlign, textBaseline 和 direction 值对文本进行渲染。
x
文本起点的 x 轴坐标。
y
文本起点的 y 轴坐标。
maxWidth 可选
绘制的最大宽度。如果指定了值,并且经过计算字符串的值比最大宽度还要宽,字体为了适应会水平缩放(如果通过水平缩放当前字体,可以进行有效的或者合理可读的处理)或者使用小号的字体。

textAlign () 描述绘制文本时,文本的对齐方式的属性

ctx.textAlign = "left" || "right" || "center" || "start" || "end"
参数:
left
文本左对齐。
right
文本右对齐。
center
文本居中对齐。
start
文本对齐界线开始的地方(左对齐指本地从左向右,右对齐指本地从右向左)。
end
文本对齐界线结束的地方(左对齐指本地从左向右,右对齐指本地从右向左)。

textBaseline() 描述绘制文本时,当前文本基线的属性。(决定文字垂直方向的对齐方式。)

ctx.textBaseline = "top" || "hanging" || "middle" || "alphabetic" || "ideographic" || "bottom";
参数:
top
文本基线在文本块的顶部。
hanging
文本基线是悬挂基线。
middle
文本基线在文本块的中间。
alphabetic
文本基线是标准的字母基线。
ideographic
文字基线是表意字基线;如果字符本身超出了 alphabetic 基线,那么 ideograhpic 基线位置在字符本身的底部。
bottom
文本基线在文本块的底部。与 ideographic 基线的区别在于 ideographic 基线不需要考虑下行字母。
默认值是 alphabetic。

measureText() 方法返回一个关于被测量文本TextMetrics 对象包含的信息(例如它的宽度)。

ctx.measureText(text)
参数:
text
需要测量的String 。
返回值:
{
actualBoundingBoxAscent: 9
actualBoundingBoxDescent: 2
actualBoundingBoxLeft: 1
actualBoundingBoxRight: 117.162109375
fontBoundingBoxAscent: 11
fontBoundingBoxDescent: 3
width: 116.162109375
}

 let text = 'Javascript是最优美的语言'// 查看当前文字的宽高let width = ctx.measureText(text)console.log(width);

事例

填充内部样式
 <!-- 兼容性写法,在低版本时标签内部的文字才会显示 --><canvas id="cont" width="600px" height="400px">你的浏览器版本过低,请升级浏览器或者使用chrome打开!</canvas><script>/** @type {HTMLCanvasElement} *///  获取canvas画布const canvas = document.querySelector('#cont')// 获取画布的应用上下文const ctx = canvas.getContext('2d')// 添加线性渐变var gradient = ctx.createLinearGradient(0,0,600,400);gradient.addColorStop(0, 'red');gradient.addColorStop(1, 'blue');ctx.fillStyle = gradient;let text = 'Javascript是最优美的语言'// 查看当前文字的宽高let width = ctx.measureText(text)console.log(width);ctx.font = '30px Consolas'// 设置文本的对齐方式的属性left文本左对齐、right文本右对齐、center文本居中对齐、// start(默认)文本对齐界线开始的地方、end文本对齐界线结束的地方ctx.textAlign="center"// 设置文字上下对齐方式top文本基线在文本块的顶部。//hanging文本基线是悬挂基线。//middle文本基线在文本块的中间。//alphabetic文本基线是标准的字母基线。// ideographic文字基线是表意字基线;如果字符本身超出了 alphabetic 基线,那么 ideograhpic 基线位置在字符本身的底部。// bottom文本基线在文本块的底部。与 ideographic 基线的区别在于 ideographic 基线不需要考虑下行字母。ctx.textBaseline="middle"ctx.fillText(text, 300, 200)//以下是基准点ctx.arc(300,200,3, 0,Math.PI*2)ctx.fillStyle='black'ctx.fill()</script>

字体轮廓样式
 <!-- 兼容性写法,在低版本时标签内部的文字才会显示 --><canvas id="cont" width="600px" height="400px">你的浏览器版本过低,请升级浏览器或者使用chrome打开!</canvas><script>/** @type {HTMLCanvasElement} *///  获取canvas画布const canvas = document.querySelector('#cont')// 获取画布的应用上下文const ctx = canvas.getContext('2d')let text = 'Javascript是最优美的语言'// 查看当前文字的宽高let width = ctx.measureText(text)console.log(width);ctx.font = '30px Consolas'// 设置文本的对齐方式的属性left文本左对齐、right文本右对齐、center文本居中对齐、// start(默认)文本对齐界线开始的地方、end文本对齐界线结束的地方ctx.textAlign="center"// 设置文字上下对齐方式top文本基线在文本块的顶部。//hanging文本基线是悬挂基线。//middle文本基线在文本块的中间。//alphabetic文本基线是标准的字母基线。// ideographic文字基线是表意字基线;如果字符本身超出了 alphabetic 基线,那么 ideograhpic 基线位置在字符本身的底部。// bottom文本基线在文本块的底部。与 ideographic 基线的区别在于 ideographic 基线不需要考虑下行字母。ctx.textBaseline="middle"ctx.strokeText(text, 300, 200)//以下是基准点ctx.arc(300,200,3, 0,Math.PI*2)ctx.fillStyle='black'ctx.fill()</script>

学习Canvas基础-绘制文字相关推荐

  1. 学习Canvas基础-绘制弧线和曲线

    绘制曲线和弧线的方法 ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise) 用于绘制圆或部分圆. 参数: x-圆弧中心(圆心)的 x 轴 ...

  2. 【Android 应用开发】Canvas 精准绘制文字 ( 文本边界坐标解析 | 绘图位置 )

    文章目录 一.文本边界坐标解析 二.绘图位置 一.文本边界坐标解析 在上一篇博客 [Android 应用开发]Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐 ) 中 ...

  3. cesium模型不遮挡点线面_cesium 学习(八) 基础绘制(点线面)

    一.前言 对于一个地图GIS场景,绘制点.线.面属于是基础功能,无论是二维地图还是三维地图场景均是如此,尤其对于三维场景来说比二维应该是更加困难了些. 但是基础的简单绘制不用考虑太多,下面我们开始学习 ...

  4. 【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐 )

    文章目录 一.测量文本真实边界 二.将文本中心点与给定中心点对齐 一.测量文本真实边界 Paint.getTextBounds() 函数原型如下 : public class Paint {/*** ...

  5. canvas基础-绘制矩形(1)

    1.canvas基础知识 canvas元素是HTML5中新增的一个重要的元素,专门用来绘制图形,不过canvas本身不具备画图的能力,在页面中放置了canvas元素,就相当于在页面中放置了一块矩形的& ...

  6. 学习Canvas基础-圆柱渐变、设置底纹(createPattern)

    1.圆柱渐变 // createconicgradient()方法在给定坐标的点周围创建渐变. // createConicGradient(startAngle, x, y) // 参数: // s ...

  7. android 通过canvas旋转 绘制文字 竖直等不同方向的显示

    效果如下: 主体代码如下: package com.free.chart;import android.content.Context; import android.graphics.Canvas; ...

  8. H5:画布Canvas基础知识讲解(三)之文字、阴影、颜色渐变

    上一节介绍了H5:画布Canvas基础知识讲解(二)之插入图像.像素级操作,接下来继续讲解H5:画布Canvas基础. 文字 虽然最近的WebKit版本和Firefox 3.1 nightly bui ...

  9. html canvas图片上绘制文字,如何用HTML5 CANVAS绘制文字

    您可能感兴趣的话题: 绘制文字 核心提示:如何在HTML5 canvas上绘制绘制文字,并且可以设置文字的字体,大小和颜色. 我们可以在HTML5 canvas上绘制绘制文字,并且可以设置文字的字体, ...

最新文章

  1. C#中Invoke的用法
  2. C 语言编程 — 内存对齐
  3. C++ SSE运算例子
  4. python绘制坐标图_Python绘制主次坐标图
  5. python如何读写文件-Python之写入文件(1)
  6. JAVA spring配置文件总结
  7. GetOverlappedResult函数详细解答
  8. 【通知】3月当当购书大额优惠券赠送,仅限今明两天
  9. 目标检测中准确率accuracy的计算(precision是精度、查准率)(Recall是召回率、查全率)
  10. 快醒醒,一大波最新 AI 论文加开源代码来袭!
  11. 极客班C++ STL(容器)第二周笔记
  12. spring 扫描所有_从Spring的几个阶段理解其工作过程
  13. 函数返回结构体指针_9.3 结构体指针
  14. 实用调试技巧 Debug Release F10 F11 初始化 越界访问 堆栈 模拟实现库函数
  15. 互动媒体技术之绘画系统
  16. APICloud的config.xml应用配置的说明
  17. 学习linux 服务器安全这一篇文章就够了
  18. oracle把修改成及联,oracle日常操作命令手册(用户管理)-从零到无
  19. android应用加固后闪退,梆梆加固,启动就闪退了
  20. 关闭腾讯网迷你版(登录qq后的广告弹窗)

热门文章

  1. 把数字(时间戳)转成日期格式
  2. C/C++程序的打包教程(2022版)
  3. Python 学习笔记 类的封装 类的继承 多态继承 类方法和静态方法 单例设计模式
  4. php 服务层dao层,DAO层,Service层,Controller层、View层详解
  5. 下载软件旧版本巧办法
  6. SWIG学习记录(一)SWIG基础
  7. html5+css+javascript深入学习实录pdf,HTML5+CSS3+JavaScript从入门到精通 微课精编版.pdf...
  8. 二叉排序树的中序遍历
  9. 权力的游戏(种子)二/三/四季
  10. 解决新股申购代码重复的问题