在 HTML canvas 绘制文本

简介: 在 HTML canvas 绘制文本

绘制文本有两种方式:

fillText(text, x, y)
strokeText(text, x, y)

下面,我们来看看如何在 canvas 上绘制文本。

我们先创建一个 canvas 标签,并设置基本的宽高:

<canvas width="200" height="400"></canvas>

首先,获取对画布的引用:

const canvas = document.querySelector('canvas')

并从中创建一个上下文对象:

const ctx = canvas.getContext('2d')
getContext() 方法根据作为参数传递的类型返回画布上的绘图上下文。

有效值为:

2d 二维渲染上下文
webgl 使用 WebGL 版本 1
webgl2 使用 WebGL 版本 2
与 ImageBitmap 一起使用的 bitmaprenderer
点击此处查看详细内容。

现在我们可以调用 ctx 对象的 fillText() 方法:

ctx.fillText('Hello, Canvas!', 100, 100)
fillText 方法的后两个参数分别为 x 和 y 的坐标。

在调用 fillText() 之前,还可以传递其他属性来自定义外观,例如:

ctx.font = 'bold 20pt Menlo'
ctx.fillStyle = '#ccc'
ctx.fillText('Hello, Canvas!', 100, 100)

font 属性更改字体样式
fillStyle 属性更改图形的填充颜色。默认值是 #000。
如果画布看起来太小,你可以设置它的 width 和 height 属性:

ctx.width = 600
ctx.height = 600

另一种绘制文本的方式:

ctx.strokeStyle = '#ccc'
ctx.strokeText('Hello, Canvas!', 100, 100)

strokeStyle 属性更改图形的描边颜色。默认值是 #000。

fillStyle 和 strokeStyle 接受任何有效的 CSS 颜色,包括字符串和 RGB 计算。

您还可以更改与文本(* = default)相关的其他属性:

  • textAlign: start*, end, left, right, center — 文本的对齐方式
  • textBaseline: top, hanging, middle, alphabetic*, ideographic, bottom — 文本基线
  • direction: ltr | rtl | inherit* — 文本方向
相关文章
|
6月前
|
移动开发 前端开发 HTML5
基于HTML5+Canvas绘制的鼠标跟随三角形碎片光标动画代码
基于HTML5+Canvas绘制的鼠标跟随三角形碎片光标动画特效代码,很有意思,一团三角形碎片跟随鼠标的移动,不冗长、不笨重,反而有一种很轻盈的感觉,非常不错
106 29
|
6月前
|
移动开发 前端开发 HTML5
Html5 Canvas绘制圆形仪表盘动画源码
Html5 Canvas绘制圆形仪表盘动画特效是一款基于HTML5 Canvas绘制的圆形百分比仪表盘动画特效。
57 1
|
7月前
|
移动开发 前端开发 JavaScript
HTML(HyperText Markup Language,超文本标记语言)
HTML(HyperText Markup Language,超文本标记语言)
196 11
|
7月前
|
Web App开发 移动开发 前端开发
html5 canvas五彩碎纸屑飘落动画特效
h5 canvas飘落纸片动画是一款实现五彩纸屑飘落的背景动画特效,基于canvas绘制的空中飘落的纸屑片动画特效,适用于网页动态背景效果代码。简单使用,欢迎下载!代码适用浏览器:搜狗、360、FireFox(建议)、Chrome、Safari、Opera、傲游、世界之窗,是一款不错的的特效插件,希望大家喜欢!
105 5
|
8月前
|
前端开发
基于canvas实现的彩色纸屑组成文字3d动画HTML源码
基于canvas实现的彩色纸屑组成文字3d动画HTML源码
77 0
基于canvas实现的彩色纸屑组成文字3d动画HTML源码
|
8月前
|
移动开发 前端开发 HTML5
HTML5 Canvas制作的粒子十秒倒计时源码
一段基于HTML5 Canvas制作的粒子爆炸,十秒数字倒计时,全屏倒计时动画效果,给人一种非常大气的视觉感
93 0
HTML5 Canvas制作的粒子十秒倒计时源码
|
9月前
|
Java BI API
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
这篇文章介绍了如何在Spring Boot项目中整合iTextPDF库来导出PDF文件,包括写入大文本和HTML代码,并分析了几种常用的Java PDF导出工具。
1842 0
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
|
8月前
|
XML JavaScript 前端开发
如何解析一个 HTML 文本
【10月更文挑战第23天】在实际应用中,根据具体的需求和场景,我们可以灵活选择解析方法,并结合其他相关技术来实现高效、准确的 HTML 解析。随着网页技术的不断发展,解析 HTML 文本的方法也在不断更新和完善,
|
8月前
|
前端开发 JavaScript
Canvas三维变化背景动画HTML源码
Canvas三维变化背景动画HTML源码
82 5
|
10月前
|
XML 移动开发 前端开发
HTML5 SVG和canvas的性能探讨
HTML5 中的 SVG(可缩放矢量图形)和 Canvas(画布)分别用于网页图形绘制。SVG 基于矢量图形,使用 XML 描述,适合静态或少量动态内容(如图标、图表),易于编辑且保持高分辨率;Canvas 则基于位图,通过 JavaScript 绘制,更适合快速更新大量图形的场景(如游戏、动态动画),但在复杂图形计算时可能遇到性能瓶颈。总体而言,SVG 适用于静态和少量动态内容,而 Canvas 更适合高频率更新和性能要求高的场景。

热门文章

最新文章