Heim  >  Artikel  >  Backend-Entwicklung  >  PHP 柱状图生成代码(imagefilledrectugle函数示例)

PHP 柱状图生成代码(imagefilledrectugle函数示例)

WBOY
WBOYOriginal
2016-07-25 08:55:301094Durchsuche
  1. /**

  2. * php 柱状图 imagefilledrectugle函数用例
  3. * by bbs.it-home.org
  4. */
  5. function createImage($data,$twidth,$tspace,$height){
  6. header("Content-Type:image/jpeg");
  7. $dataname = array();
  8. $datavalue = array();//data里面的值
  9. $i = 0;
  10. $j = 0;
  11. $k = 0;
  12. $num = sizeof($data);
  13. foreach($data as $key => $val){

  14. $dataname[] = $key;
  15. $datavalue[] = $val;
  16. }
  17. $width = $num * ($twidth + $tspace) + 20 ;//获取图像的宽度

  18. $im = imagecreate($width,$height);//创建图像
  19. $bgcolor = imagecolorallocate($im,255,255,255);//背景色

  20. $jcolor = imagecolorallocate($im,255,255,0);//矩形的背景色
  21. $acolor = imagecolorallocate($im,0,0,0);//线的颜色
  22. imageline($im,25,$height-20,$width-5,$height -20,$acolor);//X轴

  23. imageline($im,25,$height-20,25,2,$acolor);//Y轴
  24. while($iimagefilledrectangle($im,$i*($tspace+$twidth)+40,$height-$datavalue[$i]-20,$i*($twidth+$tspace)+$tspace+40,$height-20,$jcolor);//画矩形
  25. imagestring($im,3,$i*($tspace+$twidth)+40+$twidth/2,$height-$datavalue[$i]-35,$datavalue[$i],$acolor);//在柱子上面写出值
  26. imagestring($im,3,$i*($tspace+$twidth)+40+$twidth/2,$height-15,$dataname[$i],$acolor);//在柱子下面写出值
  27. $i ++;
  28. }

  29. while($j imageline($im,25,($height-20)-$j*8,28,($height-20)-$j*8,$acolor);//画出刻度
  30. imagestring($im,2,5,($height-30)-$j*8,$j*10,$acolor);//标出刻度值
  31. $j = $j +10;
  32. }
  33. imagejpeg($im);
  34. }
  35. $data =array("1"=>25,"2"=>30,"3" =>21 );
  36. createImage($data,40,40,300);
  37. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn