HTML5技术

canvas一周一练 -- canvas绘制饼图(2) - 张不丢

字号+ 作者:H5之家 来源:H5之家 2017-07-25 09:00 我要评论( )

运行效果: !DOCTYPE htmlhtmlhead/headbodycanvas id=width=height=A drawing of someing!/canvasscript type=drawCircle = function(canvasId, data_arr, color_arr, text_arr){ var drawing = document.getElementById(canvasId); if (drawing.getContext

运行效果:

<!DOCTYPE html> <html> <head> </head> <body> <canvas id=width=height=>A drawing of someing!</canvas> <script type=> drawCircle = function(canvasId, data_arr, color_arr, text_arr){ var drawing = document.getElementById(canvasId); if(drawing.getContext) { ); var radius = drawing.height/2 -20,//半径 ox = radius +width = 30, height = 10, //图例宽高 posX = ox * textX = posX + width + startAngle = 0, endAngle = 0;//起始、结束弧度 context.strokeStyle = ; context.lineWidth = 3; context.strokeRect(0, 0, drawing.width, drawing.height); for(var i=0, len=data_arr.length; i<len; i++) { //绘制饼图 endAngle += data_arr[i] * 2*Math.PI; context.fillStyle = color_arr[i]; context.beginPath(); context.moveTo(ox, oy); context.arc(ox, oy, radius, startAngle, endAngle, false); context.closePath(); context.fill(); startAngle = endAngle; //绘制图例 context.fillRect(posX, posY + 20 * i, width, height); context.moveTo(posX, posY + 20 * i); context.font = ; + data_arr[i]*; context.fillText(percent, textX, textY + 20 * i); } } }; var init = function(){ var data_arr = [0.05, 0.25, 0.6, 0.1], color_arr = [, , , ], text_arr =[, , , ]; drawCircle(, data_arr, color_arr, text_arr); }; init(); </script> </body> </html>

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTML5 | Canvas 基本操作 - hugh.dong

    HTML5 | Canvas 基本操作 - hugh.dong

    2017-07-25 09:01

  • HTML5 Canvas爱心时钟代码 - 计划

    HTML5 Canvas爱心时钟代码 - 计划

    2017-07-23 08:00

  • canvas一周一练 -- canvas绘制立体文字(7) - 张不丢

    canvas一周一练 -- canvas绘制立体文字(7) - 张不丢

    2017-07-18 15:01

  • 学习HTML5 canvas遇到的问题 - 码代码的梵高

    学习HTML5 canvas遇到的问题 - 码代码的梵高

    2017-07-17 17:02

网友点评