HTML代码教程
【HTML教程】HTML的canvas标签|html入门知识
时间: 2025-02-07 11:25:20 浏览次数:11
常用的html标签汇总、以及操作过程中的一些bug问题解决方法,以下龙腾飞网络科技-小吴在建站实操中笔记记录,一路走来,一步步学习、总结、整理的一些资料,不用死记硬背,保存使用非常方便,实操过程中遇到了就查询搜索一下,实践出真章,做多了自然就熟悉了:【定义和用法】canvas 标签通常通过脚本(通常是 JavaScript)实

常用的html标签汇总、以及操作过程中的一些bug问题解决方法,以下龙腾飞网络科技-小吴在建站实操中笔记记录,一路走来,一步步学习、总结、整理的一些资料,不用死记硬背,保存使用非常方便,实操过程中遇到了就查询搜索一下,实践出真章,做多了自然就熟悉了:


【定义和用法】

canvas 标签通常通过脚本(通常是 JavaScript)实时绘制图形。

canvas 标签是透明的,它只是图形的容器,必须使用脚本才能实际绘制图形。

在禁用 JavaScript 的浏览器和不支持 canvas 的浏览器中,会显示出 canvas 元素内部的任何文本。

提示

请在我们的 HTML Canvas 教程中学习有关 canvas 元素的更多知识。

如需查看所有属性和方法的完整参考,请访问我们的 HTML Canvas 参考手册。


【实例】

例子 1

实时绘制一个红色矩形,并在 canvas 元素中显示它:

<canvas id="myCanvas">
您的浏览器不支持 canvas 标签。
</canvas>

<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0, 0, 80, 80);
</script>


例子 2

另一个 canvas 例子:

<canvas id="myCanvas">
您的浏览器不支持 canvas 标签。
</canvas>

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 75, 50);
// 打开透明度
ctx.globalAlpha = 0.2;
ctx.fillStyle = "blue";
ctx.fillRect(50, 50, 75, 50);
ctx.fillStyle = "green";
ctx.fillRect(80, 80, 75, 50);
</script>


【属性】

1733974202120.jpg


【默认的 CSS 设置】

大多数浏览器将使用以下默认值显示 canvas 元素:

canvas {
  height: 150px;
  width: 300px;
}


【canvas 标记和 SVG 以及 VML 之间的差异】

canvas 标记和 SVG 以及 VML 之间的一个重要的不同是,canvas 有一个基于 JavaScript 的绘图 API,而 SVG 和 VML 使用一个 XML 文档来描述绘图。

这两种方式在功能上是等同的,任何一种都可以用另一种来模拟。从表面上看,它们很不相同,可是,每一种都有强项和弱点。例如,SVG 绘图很容易编辑,只要从其描述中移除元素就行。

要从同一图形的一个 canvas 标记中移除元素,往往需要擦掉绘图重新绘制它。


【如何使用 canvas 标记绘图】

大多数 Canvas 绘图 API 都没有定义在 canvas 元素本身上,而是定义在通过画布的 getContext() 方法获得的一个“绘图环境”对象上。

Canvas API 也使用了路径的表示法。但是,路径由一系列的方法调用来定义,而不是描述为字母和数字的字符串,比如调用 beginPath() 和 arc() 方法。

一旦定义了路径,其他的方法,如 fill(),都是对此路径操作。绘图环境的各种属性,比如 fillStyle,说明了这些操作如何使用。

注释:Canvas API 非常紧凑的一个原因上它没有对绘制文本提供任何支持。要把文本加入到一个 canvas 图形,必须要么自己绘制它再用位图图像合并它,或者在 canvas 上方使用 CSS 定位来覆盖 HTML 文本。


友情链接: 知识付费 | EDU指南导航 | 小程序开发 | 上网行为管理 | 小程序开发公司 | 企业财务服务 | 职校招生网 |
Copyright©2011 Guangzhou Longtengfei Network Technology Co., Ltd. 广州龙腾飞网络科技有限公司 粤ICP备18029205号 XML地图 | 系统开发专题地图