Canvas 实现圆圈进度展示/进度动画

一、基础使用canvas的画圆和画弧度api

复制代码
<canvas id="cavasOne" width="300" height="300" style="border: 1px solid red;"></canvas>

<script>
    var cavans = document.querySelector('#cavasOne');
    var ctx = cavans.getContext('2d');
    //绘制圆
    ctx.beginPath();
    ctx.lineTo(150, 150);
    ctx.arc(150, 150, 100, 0, Math.PI * 2);
    ctx.fillStyle = '#ddd';
    ctx.fill();
    ctx.closePath();

    //绘制扇形 指定百分比 25%
    ctx.beginPath();
    ctx.lineTo(150, 150);
    ctx.arc(150, 150, 100, -90 * Math.PI / 180, 0);
    ctx.fillStyle = 'red';
    ctx.fill();
    ctx.closePath();
</script>
复制代码

 

二、使用动画执行绘画操作

复制代码
<canvas id="cavasOne" width="300" height="300" style="border: 1px solid red;"></canvas>

<script>
    var cavans = document.querySelector('#cavasOne');
    var ctx = cavans.getContext('2d');

    function drawAngle(angle) {
        ctx.clearRect(0, 0, cavans.width, -cavans.height);
        //绘制圆
        ctx.beginPath();
        ctx.lineTo(150, 150);
        ctx.arc(150, 150, 100, 0, Math.PI * 2);
        ctx.fillStyle = '#ddd';
        ctx.fill();
        ctx.closePath();

        //绘制扇形 指定百分比 25%
        ctx.beginPath();
        ctx.lineTo(150, 150);
        ctx.arc(150, 150, 100, -90 * Math.PI / 180, (angle - 90) * Math.PI / 180);
        ctx.fillStyle = 'red';
        ctx.fill();
        ctx.closePath();

        //清空中心
        ctx.beginPath();
        ctx.lineTo(150, 150);
        ctx.arc(150, 150, 90, 0, Math.PI * 2);
        ctx.fillStyle = 'white';
        ctx.fill();
        ctx.closePath();
    }

    //动画执行处理
    var num = 0;
    var angle = 135;
    function step() {
        num++;
        drawAngle(num);
        if (num < angle)
            window.requestAnimationFrame(step);
    }
    window.requestAnimationFrame(step);
</script>
复制代码

 

更多:

canvas应用——将方形图片处理为圆形

Canvas保存图片保存到本地

Canvas模糊化处理图片、毛玻璃处理图片之stackblur.js

posted @   天马3798  阅读(540)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2014-10-10 不同浏览器对URL最大长度的限制(转)
点击右上角即可分享
微信分享提示