最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

打造超酷的PHP数据饼图

时间:2014-06-09 16:40来源: 作者: 点击:
源代码: //+------------------------+ //|pie3dfun.PHP//公用函数| //+------------------------+ define( ANGLE_STEP ,5); //定义画椭圆弧时的角度步长 function draw_getdarkcolor( $img , $clr ) //求$clr对应的暗色 { $rgb =imagecolor

  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);  
(责任编辑:admin)
------分隔线----------------------------
栏目列表
推荐内容