用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

打造超酷的PHP数据饼图

时间:2015-01-23  来源:西部数据  作者:西部数据

\

  1.  
  2. 源代码:  
  3. //+------------------------+  
  4. //| pie3dfun.PHP//公用函数 |  
  5. //+------------------------+  
  6. define("ANGLE_STEP", 5); //定义画椭圆弧时的角度步长  
  7. function draw_getdarkcolor($img,$clr//求$clr对应的暗色  
  8. {  
  9. $rgb = imagecolorsforindex($img,$clr);  
  10. return array($rgb["red"]/2,$rgb["green"]/2,$rgb["blue"]/2);  
  11. }  
  12. function draw_getexy($a$b$d//求角度$d对应的椭圆上的点坐标  
  13. {  
  14. $d = deg2rad($d);  
  15. return array(round($a*Cos($d)), round($b*Sin($d)));  
  16. }  
  17. function draw_arc($img,$ox,$oy,$a,$b,$sd,$ed,$clr//椭圆弧函数  
  18. {  
  19. $n = ceil(($ed-$sd)/ANGLE_STEP);  
  20. $d = $sd;  
  21. list($x0,$y0) = draw_getexy($a,$b,$d);  
  22. for($i=0; $i<$n$i++)  
  23. {  
  24. $d = ($d+ANGLE_STEP)>$ed?$ed:($d+ANGLE_STEP);  
  25. list($x$y) = draw_getexy($a$b$d);  
  26. imageline($img$x0+$ox$y0+$oy$x+$ox$y+$oy$clr);  
  27. $x0 = $x;  
  28. $y0 = $y;  
  29. }  
  30. }  
  31. function draw_sector($img$ox$oy$a$b$sd$ed$clr//画扇面  
  32. {  
  33. $n = ceil(($ed-$sd)/ANGLE_STEP);  
  34. $d = $sd;  
  35. list($x0,$y0) = draw_getexy($a$b$d);  
  36. imageline($img$x0+$ox$y0+$oy$ox$oy$clr);  
  37. for($i=0; $i<$n$i++)  
  38. {  
  39. $d = ($d+ANGLE_STEP)>$ed?$ed:($d+ANGLE_STEP);  
  40. list($x$y) = draw_getexy($a$b$d);  
  41. imageline($img$x0+$ox$y0+$oy$x+$ox$y+$oy$clr);  
  42. $x0 = $x;  
  43. $y0 = $y;  
  44. }  
  45. imageline($img$x0+$ox$y0+$oy$ox$oy$clr);  
  46. list($x$y) = draw_getexy($a/2, $b/2, ($d+$sd)/2);  
  47. imagefill($img$x+$ox$y+$oy$clr);  
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门