canvas - 圆形

使用 arc() 或 arcTo() 方法画圆形
效果图:
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		#cvs {
			background-color: #ccc;
		}
	</style>
</head>
<body>
	<div id='container'>
		<canvas id='cvs'>
			sorry, your browser doesn't support canvas API.
		</canvas>
	</div>
</body>
<script>
	window.onload = function() {
		// 获取画布
		const cvs = document.querySelector('#cvs')
		cvs.width = 800
		cvs.height = 800
		// 获取画笔
		const ctx = cvs.getContext('2d')

		const PI = Math.PI
		
		drawCircle(350, 350, 50, PI, PI * 2)
		drawCircle(400, 400, 50, PI * 3 / 2, PI * 1 / 2)
		drawCircle(350, 450, 50, 0, PI)
		drawCircle(300, 400, 50, PI * 1 / 2, PI * 3 / 2)
		drawCircle(350, 400, 100, 0, PI * 2)
		drawCircle(350, 400, 50, 0, PI * 2)

		ctx.strokeStyle = '0f0'
		ctx.strokeRect(300, 350, 100, 100)

		function drawCircle(x, y, r, startAngle, endAngle) {
			ctx.moveTo(x, y)
			ctx.beginPath()
			ctx.arc(x, y, r, startAngle, endAngle)
			ctx.strokeStyle = 'lime'
			ctx.stroke()
		}
	}
</script>
</html>

效果图:
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		#cvs {
			background-color: #ccc;
		}
	</style>
</head>
<body>
	<div id='container'>
		<canvas id='cvs'>
			sorry, your browser doesn't support canvas API.
		</canvas>
	</div>
</body>
<script>
	window.onload = function() {
		// 获取画布
		const cvs = document.querySelector('#cvs')
		cvs.width = 800
		cvs.height = 600
		// 获取画笔
		const ctx = cvs.getContext('2d')

		ctx.globalAlpha = 0.5
		
		for(let i = 0; i < 50; i++) {
			ctx.beginPath()
			ctx.arc(Math.random() * 800, Math.random() * 600, Math.random() * 50, 0, Math.PI * 2)
			const fillStyle = 'rgb(' + randomRGB() + ',' +  randomRGB() + ',' + randomRGB() + ')'
			ctx.fillStyle = fillStyle
			ctx.fill()
		}

		function randomRGB() {
			return Math.floor(Math.random() * 256)
		}
	}
</script>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅花三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值