<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<style type="text/css">
</style>
<body>
<canvas id="mycanvas" width="300" height="300"></canvas>
<script type="text/javascript">
var mycanvas = document.getElementById('mycanvas');
var ctx = mycanvas.getContext('2d');
//找到画布的中心点
var canvasX = mycanvas.width / 2;
var canvasY = mycanvas.height / 2;
//进度条是100%,所以要把一圈360度分成100份
var progress = Math.PI * 2 / 100;
//指定初始加载步长
var steps = 40;
ctx.strokeStyle = '#dddddd';
ctx.lineWidth = 20;
// ctx.save();
ctx.beginPath();
ctx.arc(canvasX, canvasY, 90, 0, Math.PI * 2, false)
ctx.stroke();
ctx.closePath();
ctx.restore();
ctx.strokeStyle = "red";
ctx.lineWidth = 20;
ctx.beginPath();
ctx.arc(canvasX, canvasY, 90, -Math.PI / 2, -Math.PI / 2 + steps * progress, false);
ctx.stroke();
ctx.closePath();
ctx.restore();
ctx.fillStyle = "black"; //可改
ctx.font = "bold 26px Arial"; //可改
// canvasX-30, canvasY+10 中的加减的数值可改
if (steps.toFixed(0).length == 3) {
ctx.fillText(steps.toFixed(0) + '%', canvasX - 30, canvasY + 10);
} else {
ctx.fillText(steps.toFixed(0) + '%', canvasX - 20, canvasY + 10);
}
ctx.restore();
</script>
</body>
</html>
用canvas画圆 并根据中间数值百分比显示进度
最新推荐文章于 2024-07-17 15:26:15 发布