重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这是个2D的。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了耀州免费建站欢迎大家使用!
其中有一个自定义函数,用于绘制饼图,参数是一个键值对数组。
每项内容是由数组定义的。你调入数据库中的内容后读入数组即可。
前提是你当然要开启GD扩展,要不是没得画得。呵。
?php
function pie2d($a) //创建自定义函数
{
$im=imagecreate(420,300); //建立图像
$back=imagecolorallocate($im,255,255,200); //背景色
$color[]=imagecolorallocate($im,0,0,255); //定义10个颜色,可以最多处理10项
$color[]=imagecolorallocate($im,255,0,0);
$color[]=imagecolorallocate($im,0,255,0);
$color[]=imagecolorallocate($im,100,100,255);
$color[]=imagecolorallocate($im,255,0,255);
$color[]=imagecolorallocate($im,150,0,0);
$color[]=imagecolorallocate($im,0,0,150);
$color[]=imagecolorallocate($im,0,150,0);
$color[]=imagecolorallocate($im,0,0,0);
$color[]=imagecolorallocate($im,150,150,150);
$value_a=array_values($a); //获取参数数组所有值到新数组
$all=array_sum($value_a); //统计新数组的和
$i=0; //循环标记
foreach($a as $key=$value) //遍历数组
{
$angle[]=$value/$all*360; //获取当前角度
$str=$key.":".round($value/$all*100,2)."%"; //需要输出的内容
imagestring($im,5,10,($i*20+10),$str,$color[$i]); //画字符串
$i++; //标记自增
}
$s=0; //当前角度标记
$i=0;
foreach($angle as $temp) //遍历所有项角度
{
imagefilledarc($im,285,150,240,120,$s,($s+$temp),$color[$i],4); //画椭圆弧
//imagefillellipse();
$s=$s+$temp; //角度增加为当前角度
$i++;
}
imagepng($im); //输出PNG
imagedestroy($im); //销毁图像
}
$arr=array(
"perfect"=1,
"excellent"=2,
"very good"=4,
"good"=1,
"not bad"=1,
"normal"=1,
"bad"=1,
"very bad"=1,
"god save me"=1,
"hell"=1
); //定义数组,数组内容为选项内容与选项数量的键值对
$re=pie2d($arr); //调用自定义函数
?
在php中,有一些简单的图像函数是可以直接使用的,但大多数要处理的图像,都需要在编译PHP时加上GD库。
除了安装GD库之外,在PHP中还可能需要其他的库,武汉电脑培训认为这可以根据需要支持哪些图像格式而定。
不同的GD版本支持的图像格式不完全一样,最新的GD库版本支持GIF、JPEG、PNG、WBMP、XBM等格式的图像文件,此外还支持一些如FreeType、Type1等字体库。
通过GD库中的函数,可以完成各种点、线、几何图形、文本及颜色的操作处理,也可以创建或读取多种格式的图像文件。
在PHP中,通过GD库处理图像的操作都是先在内存中处理,操作完成以后再以文件流的方式输出到浏览器或保存在服务器的磁盘中。
创建一个图像应该完成如下所示4个基本步骤。
①创建画布:所有的绘图设计都需要在一个背景图片上完成,而画布实际上就是在内存中开辟的一块临时区域,用于存储图像的信息。
以后的图像操作都将基于这个背景画布,该画布的管理就类似于我们在画画时使用的画布。
②绘制图像:画布创建完成以后,就可以通过这个画布资源,使用各种画像函数设置图像的颜色、填充画布、画点、线段、各种几何图形,以及向图像中添加文本等。
③输出图像:完成整个图像的绘制以后,需要将图像以某种格式保存到服务器指定的文件中,或将图像直接输出到浏览器上显示给客户。
但在图像输出之前,一定要使用header()函数发送Content-type通知浏览器,这次发送的是图片不是文本。
④释放资源:图像被输出以后,画布中的内容也不再有用。
出于节约系统资源的考虑,需要及时清楚画布占用的所有内存资源。
我们先来了解一下一个非常简单的创建图像脚本。
在下面的脚本文件image.php中,按前面介绍的绘制图像的四个步骤,使用GD库动态输出一个扇形统计图。
以wps2019工具为例,具体操作步骤如下所示:
一、打开电脑桌面,双击excel表格,如图所示。
二、打开excel表格之后,点击上方的插入选项卡,如图所示。
三、选择要制作成饼图的数据表,然后点击上方的圆形按钮,如图所示。
四、在弹出的菜单中,选择第一个饼图选项,如图所示。
五、选择之后,饼图就生成了,如图所示。