C# Html5 + jquery 绘制动态圆饼图

  • 效果图
    这里为了方便展示效果,随机生成了数据。实际应用中可以自行绑定数据

  • 主要关注:
    1)通过画布绘制背景图上的动态圆环
    2)Div标签的悬浮
    3)DIV标签的文本居中问题

  • 核心的画圆代码段:

 function DrawArc(id, current, color) {
            var bg = document.getElementById(id);
            var ctx = bg.getContext('2d');
            var circ = Math.PI * 2;
            var quart = Math.PI / 2;

            ctx.clearRect(0, 0, bg.width, bg.height);
            ctx.strokeStyle = color;
            ctx.lineWidth = 16.1;
            ctx.beginPath();
            ctx.arc(bg.width / 2 - 1, bg.height / 2 - 1, 67, -(quart), ((circ) * current) - quart, false);
            //ctx.arc(bg.width / 2 , bg.height / 2 , 67, -(quart), ((circ) * current) - quart, false);
            //原代码中,bg.width / 2 - 1, bg.height / 2 - 1 作用是进行微调,新加的注释为标准
            //67 为新绘制圆的半径,如果发现大小不对可以修改此参数
            ctx.stroke();
            ctx.closePath();
        }
  • 关于Div标签的悬浮、DIV标签的文本居中问题:

    • Div标签的悬浮:添加position属性,为了使Div准确悬浮在特定的位置,建议使用Left、Top精确定位,不要自适应。
    • DIV标签的文本居中问题:使用text-align:center; line-height:216px; text-align属性可以设置标签文本的水平位置,line-height属性设置标签文本的垂直位置,216px 是因为我的Div标签是216px,所以如果你的标签是80pxline-height:80px;可以使你Div上的文本处于该标签的垂直居中位置。

参考源码

  • 如果参考以上还没有理解,可以参考源码。使用中如果遇到问题,欢迎留言交流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

洋洋脚踝的金铃响了

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

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

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

打赏作者

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

抵扣说明:

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

余额充值