用canvas绘制的饼状图,颜色随机,动态生成

想想自己平时太懒了,像jQuery一样,write less,do  more,  但是,我决定改变了,write more,do  more  !

这里贴上我用canvas绘制的饼状图,均分6等分,颜色随机。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<canvas id='cavs' width="600" height="600"></canvas>
</body>
<script>
    var canvas = document.getElementById('cavs')
    var ctx = canvas.getContext('2d');
    canvas.style.border = '1px solid red';

    function to_hudu(angle){
        return angle*Math.PI/180;
    }

    var x = canvas.width/2,
            y = canvas.width/2,
            r = 150,
            startAngle = -90,
            stepAngle = 60,
            i = 0;
    var timeId = setInterval(function () {
        //ctx.clearRect(0,0,canvas.width,canvas.height);
        ctx.beginPath()
        ctx.moveTo(x,y);
        //ctx.fillStyle = 'rgb('+(i+=1)+','+(255-20*i)+','+(255-10*i)+')';
        ctx.fillStyle = 'rgb(' +
                        parseInt(255*Math.random())+','+
                        parseInt(255*Math.random())+','+
                        parseInt(255*Math.random())+ ')';
        ctx.arc(x,y,r,to_hudu(startAngle),to_hudu(startAngle+=stepAngle));
        ctx.fill()
        if(startAngle>=270){
            clearInterval(timeId);
            startAngle = 270;
            console.log("绘画完成")
        }
    },500)



</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值