PHP生成3D的百分比图形统计效果

本程序是根据用户提供的数据生成3D效果的百分比图片统计效果,实例代码如下:

  1. $image = imagecreatetruecolor(200,200); //创建一张200*200的画布;
  2. //创建多种又区分的颜色
  3. $red = imagecolorallocate($image,255,0,0);
  4. $blue = imagecolorallocate($image,0,0,255);
  5. $yellow = imagecolorallocate($image,255,255,0);
  6. $violet = imagecolorallocate($image,255,0,255);
  7. $white = imagecolorallocate($image,255,255,255);
  8. $black = imagecolorallocate($image,0,0,0);
  9. //使用for循环创建3d效果底层效果
  10. for($i=120;$i>100;$i--){
  11. imagefilledarc($image,100,$i,200,120,0,30,$red,img_arc_pie);//img_arc_pie注释如下:
  12. imagefilledarc($image,100,$i,200,120,30,80,$blue,img_arc_pie);
  13. imagefilledarc($image,100,$i,200,120,80,360,$yellow,img_arc_pie);
  14. }
  15. //bool imagefilledarc ( resource image, int cx, int cy, int w, int h, int s, int e, int color, int style )
  16. //
  17. //imagefilledarc() 在 image 所代表的图像中以 cx,cy(图像左上角为 0, 0)画一椭圆弧。如果成功则返回 true,失败则返回 false。w 和 h 分别指定了椭圆的宽和高,s 和 e 参数以角度指定了起始和结束点。style 可以是下列值按位或(or)后的值:
  18. //
  19. //img_arc_pie
  20. //
  21. //img_arc_chord
  22. //
  23. //img_arc_nofill
  24. //
  25. //img_arc_edged
  26. //这个层是最上面一层的效果,这样立体效果就出来了!
  27. imagearc($image,100,100,200,120,0,360,$black);//添加一个黑色的边圈,这样3d效果看起来更加明显点
  28. imagefilledarc($image,100,100,200,120,0,30,$red,img_arc_pie);
  29. imagefilledarc($image,100,100,200,120,30,80,$blue,img_arc_pie);
  30. imagefilledarc($image,100,100,200,120,80,360,$yellow,img_arc_pie);
  31. //添加百分比数据,当然此处必要的时候可以批量的进行一定的运算将输入输入到图片上
  32. $str = iconv ("gbk","utf-8","36%");//如果要输入中文需要此转换。example:占用:30%;
  33. imagettftext($image,10,360-15,100+70,115,$white,"simhei.ttf",$str);
  34. //开源代码phpfensi.com
  35. imagejpeg($image);
  36. imagedestroy($image);