## 使用 `arc` 函数绘制复杂的 `canvas` 图形
![](https://img.kancloud.cn/70/44/70448ca127a42f364317319745d625f9_388x518.png)
相关代码如下:
~~~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas</title>
</head>
<body onload="draw('canvas')">
<canvas id="canvas" width="300" height="400">
您的浏览器不支持 HTML5 canvas 标签。
</canvas>
<script>
function draw(id) {
var canvas = document.getElementById(id);
if (canvas == null) {
return false;
}
var context = canvas.getContext("2d");
context.fillStyle = "#eeeeef";
context.fillRect(0, 0, 600, 700);
for (i = 0; i <= 10; i++) {
context.beginPath(); //开始
context.arc(i * 25, i * 25, i * 10, 0, Math.PI * 2, true); //画圆
context.closePath(); //结束
context.fillStyle = "rgba(255, 0, 0, 0.25)"; //颜色
context.fill(); //绘制并填充颜色
}
}
</script>
</body>
</html>
~~~
- Canvas基本功能
- 绘制方法
- (一)Canvas标签
- 定义Canvas标签
- 理解Canvas坐标系
- 获取Canvas环境上下文
- (二)Canvas图形
- 绘制Canvas路径
- 1、绘制线条
- 案例1:绘制直线
- 案例2:绘制圆形的结束线帽
- 案例3:绘制复杂圆形
- 2、绘制矩形
- 案例1:rect()与stroke()绘制矩形
- 案例2:fillRect()绘制矩形
- 3、绘制圆形
- 案例1
- 案例2
- 4、绘制贝塞尔曲线
- 案例1:贝塞尔曲线方式1
- 案例2:贝塞尔曲线方式2
- 案例3:复杂的贝塞尔曲线
- 绘制Canvas变形图形
- 处理Canvas图形
- (三)Canvas文本
- 绘制文字
- 设置文字格式
- 设置文字对齐方式
- (四)Canvas图片
- 绘制drawImage图片
- 使用getImageData()和putImageData()绘制图片
- 使用createImageData新建像素
- 参考文章
- API官网
- 示例