← HTML5 hgroup 元素 HTML5 SVG矢量图形 →

HTML5 Canvas 元素

原创 2025-09-13 HTML5 已有人查阅

HTML5 Canvas 基础教程

什么是 Canvas?

HTML5 Canvas 元素是一个可以通过 JavaScript 在网页上绘制图形的容器。Canvas 最初由 Apple 公司为 Mac OS 系统仪表板小组件和 Safari 浏览器开发,后来被 Firefox、Google Chrome 和 Opera 等浏览器采纳,现已成为 HTML5 标准的核心组成部分。

默认情况下,Canvas 元素具有 300 像素宽度和 150 像素高度,且没有边框和内容。开发者可以通过 CSS 的 width 和 height 属性自定义尺寸,使用 border 属性添加边框样式。

Canvas 坐标系系统

Canvas 是一个二维矩形绘制区域,采用直角坐标系系统。左上角为坐标原点 (0,0),右下角坐标为 (canvas宽度, canvas高度)。这种坐标系设计使得图形定位变得直观且精确。

绘制基础路径和形状

基础模板

以下是使用 Canvas 进行绘制的基础 HTML 模板:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Canvas 绘制基础</title>
    <script>
        window.onload = function() {
            const canvas = document.getElementById("drawingCanvas");
            const ctx = canvas.getContext("2d");
            // 在此处添加绘制代码
        };
    </script>
</head>
<body>
    <canvas id="drawingCanvas" width="400" height="300"></canvas>
</body>
</html>

绘制直线

使用 moveTo() 确定起点,lineTo() 确定终点,stroke() 进行描边:

ctx.moveTo(50, 250);
ctx.lineTo(350, 50);
ctx.stroke();

绘制圆弧

arc() 方法参数说明:

  • 中心点坐标 (x, y)

  • 圆弧半径

  • 起始角度和结束角度(弧度制)

  • 绘制方向(默认顺时针)

ctx.arc(200, 200, 80, Math.PI * 1.2, Math.PI * 1.8);
ctx.stroke();

绘制矩形

使用 rect() 方法绘制矩形:

ctx.rect(100, 100, 200, 150);
ctx.stroke();

绘制圆形

通过 arc() 方法绘制完整圆形:

ctx.arc(200, 150, 70, 0, Math.PI * 2);
ctx.stroke();

样式与颜色设置

线条样式定制

ctx.lineWidth = 5;
ctx.strokeStyle = "#FF6B35";
ctx.lineCap = "round";
ctx.moveTo(50, 250);
ctx.lineTo(350, 50);
ctx.stroke();

形状填充颜色

ctx.rect(100, 100, 200, 150);
ctx.fillStyle = "#FFD166";
ctx.fill();
ctx.strokeStyle = "#118AB2";
ctx.lineWidth = 3;
ctx.stroke();

渐变填充效果

线性渐变示例:

const linearGrad = ctx.createLinearGradient(0, 0, 400, 300);
linearGrad.addColorStop(0, "#4CC9F0");
linearGrad.addColorStop(1, "#3A0CA3");
ctx.fillStyle = linearGrad;
ctx.fillRect(50, 50, 300, 200);

径向渐变示例:

const radialGrad = ctx.createRadialGradient(200, 150, 10, 200, 150, 100);
radialGrad.addColorStop(0, "#F72585");
radialGrad.addColorStop(1, "#7209B7");
ctx.fillStyle = radialGrad;
ctx.arc(200, 150, 80, 0, Math.PI * 2);
ctx.fill();

文本绘制技术

基础文本绘制

ctx.font = "bold 28px Microsoft YaHei";
ctx.fillStyle = "#2EC4B6";
ctx.fillText("代码号编程学习", 200, 150);

文本样式与对齐

ctx.font = "italic 32px Arial";
ctx.textAlign = "center";
ctx.textBaseline = "middle";
ctx.fillStyle = "#E71D36";
ctx.fillText("欢迎学习Canvas", 200, 100);

描边文本效果

ctx.font = "bold 36px SimHei";
ctx.strokeStyle = "#FF9F1C";
ctx.lineWidth = 2;
ctx.strokeText("创意编程设计", 200, 150);

本节课程知识要点

  1. Canvas 元素是 HTML5 提供的动态绘图容器

  2. 坐标系系统以左上角为原点,向右向下为正方向

  3. 路径绘制使用 moveTo()、lineTo() 和 stroke() 方法组合

  4. 基本图形包括直线、圆弧、矩形和圆形

  5. 样式控制涵盖线条粗细、颜色、端点样式等属性

  6. 填充支持纯色填充和渐变填充两种方式

  7. 文本绘制支持填充文本和描边文本两种渲染方式

实践建议

建议学习者通过代码号编程平台提供的在线编辑器进行实践练习,逐步掌握各绘制方法的参数使用技巧。可以先从简单图形开始,逐步尝试复杂图形的绘制,之后组合成完整的图形界面。

← HTML5 hgroup 元素 HTML5 SVG矢量图形 →
分享笔记 (共有 篇笔记)
验证码:
微信公众号