菜单
×
   ❮     
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 Canvas 圆形


arc() 方法

arc() 方法用于定义一个圆。

arc() 方法具有以下参数

参数 描述
x 必需。圆弧中心的 x 坐标
y 必需。圆弧中心的 y 坐标
radius 必需。圆弧的半径
startAngle 必需。圆弧开始的角度(以弧度为单位)
endAngle 必需。圆弧结束的角度(以弧度为单位)
counterclockwise 可选。布尔值。如果设置为 true,则在开始和结束角度之间逆时针绘制圆弧。默认值为 false(顺时针)

绘制一个完整的圆

我们可以使用 arc() 方法,将 startAngle 定义为 0,将 endAngle 定义为 2 * PI 来创建一个完整的圆。

要绘制一个圆在 canvas 上,请使用以下方法:

  • beginPath() - 开始一个路径
  • arc() - 定义一个圆
  • stroke() - 绘制它

示例

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();
</script>
自己动手试一试 »


使用颜色绘制一个完整的圆

为圆添加填充颜色和描边颜色。

示例

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.fillStyle = "red";
ctx.fill();
ctx.lineWidth = 4;
ctx.strokeStyle = "blue";
ctx.stroke();
</script>
自己动手试一试 »

绘制一个半圆

这里我们将 endAngle 改为 PI(而不是 2 * PI)。

示例

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.beginPath();
ctx.arc(95, 50, 40, 0, Math.PI);
ctx.fillStyle = "red";
ctx.fill();
ctx.stroke();
</script>
自己动手试一试 »

关于圆弧角度的更多信息

下图显示了圆弧的一些角度。

Angles of an arc

中心: arc(100, 75, 50, 0 * Math.PI, 1.5 * Math.PI)

开始角度: arc(100, 75, 50, 0, 1.5 * Math.PI)

结束角度: arc(100, 75, 50, 0 * Math.PI, 1.5 * Math.PI)

示例

这里我们想绘制一个从开始角度 0 到结束角度 0.5 * PI 的圆弧。

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.beginPath();
ctx.arc(95, 50, 40, 0, 0.5 * Math.PI);
ctx.stroke();
</script>
自己动手试一试 »

示例

这里我们做同样的事情,但将 counterclockwise 参数设置为 true(它将在此后在开始和结束角度之间逆时针绘制圆弧)。

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.beginPath();
ctx.arc(95, 50, 40, 0, 0.5 * Math.PI, true);
ctx.stroke();
</script>
自己动手试一试 »

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持