主题
canvas 与图形
HTML5 中的 <canvas> 标签是一个用于绘制图形的画布区域。它本身是一个容器,依赖 JavaScript 来绘制各种二维图形和动画。
基本用法
html
<canvas
id="myCanvas"
width="400"
height="200"
style="border:1px solid #000;"
></canvas>通过 JavaScript 获取画布上下文(context),开始绘制:
javascript
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d"); // 获取2D绘图上下文
// 绘制一个红色矩形
ctx.fillStyle = "red";
ctx.fillRect(50, 50, 150, 100);常用绘图方法
fillRect(x, y, width, height):绘制填充矩形。strokeRect(x, y, width, height):绘制矩形边框。clearRect(x, y, width, height):清除画布指定区域。beginPath()和closePath():开始和关闭路径。moveTo(x, y)和lineTo(x, y):绘制路径线段。arc(x, y, radius, startAngle, endAngle):绘制圆弧或圆形。fill()和stroke():填充或描边路径。
应用场景
- 图形绘制:画图、绘制形状。
- 动画制作:游戏、交互动画。
- 数据可视化:图表、仪表盘。
- 图像处理:滤镜、特效。
注意事项
<canvas>是位图画布,绘制内容不是 DOM 元素,不能直接被选中或操作。- 需要用 JavaScript 动态绘制内容。
- 支持二维(2D)和三维(WebGL)绘图。
小结
<canvas> 提供了灵活强大的图形绘制能力,是 HTML5 中实现动态视觉效果和复杂交互的重要工具。