Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

HTML 教程

HTML 主页 HTML 简介 HTML 编辑器 HTML 基础 HTML 元素 HTML 属性 HTML 标题 HTML 段落 HTML 样式 HTML 格式 HTML 引号 HTML 注释 HTML 颜色 HTML CSS HTML 链接 HTML 图片 HTML 收藏夹图标 HTML 页面标题 HTML 表格 HTML 列表 HTML 块级和内联 HTML Div HTML 类 HTML ID HTML Iframes HTML JavaScript HTML 文件路径 HTML 头部 HTML 布局 HTML 响应式 HTML 计算机代码 HTML 语义 HTML 样式指南 HTML 实体 HTML 符号 HTML 表情符号 HTML 字符集 HTML URL 编码 HTML vs. XHTML

HTML 表单

HTML 表单 HTML 表单属性 HTML 表单元素 HTML 输入类型 HTML 输入属性 输入表单属性

HTML 图形

HTML 画布 HTML SVG

HTML 媒体

HTML 媒体 HTML 视频 HTML 音频 HTML 插件 HTML YouTube

HTML API

HTML 地理位置 HTML 拖放 HTML 网页存储 HTML 网页工作者 HTML SSE

HTML 例子

HTML 例子 HTML 编辑器 HTML 测验 HTML 练习 HTML 网站 HTML 面试准备 HTML 集训营 HTML 证书 HTML 总结 HTML 可访问性

HTML 参考资料

HTML 标签列表 HTML 属性 HTML 全局属性 HTML 浏览器支持 HTML 事件 HTML 颜色 HTML 画布 HTML 音频/视频 HTML 文档类型 HTML 字符集 HTML URL 编码 HTML 语言代码 HTTP 消息 HTTP 方法 PX 到 EM 转换器 键盘快捷键

HTML 画布图形


您的浏览器不支持 <canvas> 元素。

HTML <canvas> 元素用于在网页上绘制图形。

左侧的图形是用 <canvas> 创建的。它显示了四个元素:一个红色矩形、一个渐变矩形、一个多色矩形和一个多色文本。


什么是 HTML 画布?

HTML <canvas> 元素用于通过 JavaScript 动态绘制图形。

<canvas> 元素只是一个图形容器。您必须使用 JavaScript 来实际绘制图形。

画布有几种方法可以绘制路径、框、圆形、文本和添加图像。

画布受到所有主要浏览器的支持。


画布示例

画布是 HTML 页面上的一个矩形区域。默认情况下,画布没有边框和内容。

标记如下所示

<canvas id="myCanvas" width="200" height="100"></canvas>

注意: 始终指定 id 属性(在脚本中引用),以及 widthheight 属性来定义画布的大小。要添加边框,请使用 style 属性。

这是一个基本空画布的示例

您的浏览器不支持 canvas 元素。

示例

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
</canvas>
动手试试 »


添加 JavaScript

创建矩形画布区域后,您必须添加 JavaScript 来进行绘制。

以下是一些示例

绘制一条线

您的浏览器不支持 canvas 元素

示例

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(0, 0);
ctx.lineTo(200, 100);
ctx.stroke();
</script>
动手试试 »

绘制一个圆圈

您的浏览器不支持 canvas 元素

示例

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();
</script>
动手试试 »

绘制一个文本

您的浏览器不支持 canvas 元素

示例

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);
</script>
动手试试 »

描边文本

您的浏览器不支持 canvas 元素

示例

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.strokeText("Hello World", 10, 50);
</script>
动手试试 »

绘制线性渐变

您的浏览器不支持 canvas 元素

示例

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

// 创建渐变
var grd = ctx.createLinearGradient(0, 0, 200, 0);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");

// 用渐变填充
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script>
动手试试 »

绘制圆形渐变

您的浏览器不支持 canvas 元素

示例

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

// 创建渐变
var grd = ctx.createRadialGradient(75, 50, 5, 90, 60, 100);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");

// 用渐变填充
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script>
动手试试 »

绘制图像

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
ctx.drawImage(img, 10, 10);
</script>
动手试试 »

HTML 画布教程

要了解更多关于 <canvas> 的信息,请阅读我们的 HTML 画布教程.


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.