HTML5 Canvas标签使用收录

HTML5 的 `
### 一、基本概念
`
```html
您的浏览器不支持 HTML5 canvas 标签。
```
在这个例子中,我们创建了一个 200x100 像素的画布,并在其上绘制了一个红色的矩形。
### 二、常用属性和方法
#### 2.1 属性
| 属性 | 描述 |
| | |
| width | 设置或返回画布的宽度。 |
| height | 设置或返回画布的高度。 |
#### 2.2 方法
| 方法 | 描述 |
| | |
| fillRect(x, y, width, height) | 绘制一个填充的矩形。 |
| strokeRect(x, y, width, height) | 绘制一个矩形边框。 |
| clearRect(x, y, width, height) | 清除指定的矩形区域。 |
| beginPath() | 开始一段新的路径。 |
| moveTo(x, y) | 将画笔移动到指定的坐标。 |
| lineTo(x, y) | 从当前位置画线到指定的坐标。 |
| arc(x, y, radius, startAngle, endAngle, anticlockwise) | 绘制一个弧。 |
| fillText(text, x, y) | 在画布上绘制实心文本。 |
| strokeText(text, x, y) | 在画布上绘制空心文本。 |
| createLinearGradient(x, y, x1, y1) | 创建一个线性渐变。 |
| createRadialGradient(x, y, r, x1, y1, r1) | 创建一个径向/圆渐变。 |
| addColorStop(offset, color) | 添加颜色停止点到渐变对象中。 |
| drawImage(image, x, y) | 在画布上绘制图像。 |

| getImageData(x, y, width, height) | 获取画布上的图像数据。 |
| putImageData(imageData, x, y) | 将图像数据放回画布上。 |
### 三、常见应用场景
#### 3.1 绘制图形
可以通过 `
```javascript
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();
```
这段代码绘制了一个圆形。
#### 3.2 绘制文本
可以使用 `fillText` 和 `strokeText` 方法在画布上绘制文本。
```javascript
ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);
```
这段代码在画布上绘制了一段实心文本。
#### 3.3 应用渐变
可以创建线性渐变和径向渐变,并应用到图形上。
```javascript
var grd = ctx.createLinearGradient(0, 0, 200, 0);
grd.addColorStop(0, "red");
grd.addColorStop(1, "blue");
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
```
这段代码创建了一个从红色到蓝色的线性渐变,并将其应用到一个矩形上。
### 四、常见问题解答(FAQs)
**问题1:为什么在浏览器中无法显示绘制的图形?
答:可能的原因包括:浏览器不支持 `
HTML5 Canvas 标签使用指南

HTML5 Canvas 标签是用于在网页上绘制图形和动画的一种技术,它提供了一个画布,可以在其中通过脚本(通常是 JavaScript)绘制图形、文本、图像等。
标签属性
以下是一些常见的 HTML5 Canvas 标签属性:
width:画布的宽度。
height:画布的高度。
id:Canvas 元素的唯一标识符。
style:用于直接在 HTML 中设置样式。
class:用于应用 CSS 类。
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;"></canvas>
JavaScript 使用
要在 JavaScript 中使用 Canvas,你需要获取到 Canvas 元素,然后创建一个 2D 轴面(context)来绘制图形。
获取 Canvas 元素
var canvas = document.getElementById("myCanvas");
获取 2D 轴面
var ctx = canvas.getContext("2d");
绘制基本图形
以下是一些基本的绘图方法:
fillRect(x, y, width, height):绘制填充矩形。
strokeRect(x, y, width, height):绘制边框矩形。
beginPath():开始一个新的路径。
closePath():闭合路径。
moveTo(x, y):移动到指定的坐标。
lineTo(x, y):从当前位置绘制直线到指定的坐标。
arc(x, y, radius, startAngle, endAngle, counterclockwise):绘制圆弧。
ctx.fillStyle = "#FF0000"; ctx.fillRect(0, 0, 150, 100);
绘制文本
fillText(text, x, y):在画布上绘制填充文本。
strokeText(text, x, y):在画布上绘制文本的边框。
ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);
绘制图像
drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight):在画布上绘制图像。
var img = new Image();
img.src = "image.jpg";
img.onload = function() {
ctx.drawImage(img, 0, 0);
};
示例
以下是一个简单的 HTML5 Canvas 示例,绘制一个矩形和一个文本:
<!DOCTYPE html>
<html>
<head>
<title>Canvas Example</title>
</head>
<body>
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0, 0, 150, 100);
ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);
</script>
</body>
</html>
HTML5 Canvas 是一个强大的工具,可以用于创建各种图形和动画,通过掌握 Canvas 的基本用法,你可以实现许多有趣的网页效果。