使用GD2函数实现图表分析产品数据(PHP图形图像的典型应用教程6)

时间:2017-04-24 17:26:49 来源:互联网 作者: 神秘的大神 字体:

使用GD2函数实现图表分析产品数据(PHP图形图像的典型应用教程6)

利用图表来分析产品数据信息是目前大中小企业最常用的数据管理模式,通过图表来分析产品不仅可以一目了然,而且可以对产品下一步规划及时作出决策,快速提高企业的经济效益,由此可见,利用图表来分析产品的数据走势是企业快速发展的根基,本篇就是介绍图表分析产品数据!

在上一篇《使用GD2函数向图表中添加行和列标签(PHP图形图像的典型应用教程5)》我们介绍了图表中添加行和列标签,那么使用GD2函数实现图表分析产品数据,跟上一篇的内容是分不开的,要使用到上一篇的内容,下面我们来详细介绍!

技术要点

主要应用到array()函数和imagestring()函数向图表中添加各类产品数据信息,其中,imagestring()函数我们在删过一篇文章中有详细的介绍,array()在数组专题中也有详细介绍,在这里我们就不多做详细的介绍了,不清楚的小伙伴们可以去看看我们之前的文章和专题!

实现过程

(1) 通过 imagecreatepng()函数载入一张图片,利用数组自定义两个常量,具体代码如下;

<?php
header("Content-Type:text/html; charset=utf-8");
$im = imagecreatefrompng("upfile/2.png"); //载入一张 png 格式图片
$data = array(40,50,60,70,80,90,100);
$month = array("vb","vc","jsp","JS","C++","JAVA","PHP");
?>

(2) 在创建完背景图像后,可以再背景上面进行各种操作,在进行操作之前必须调用 imagecolorallcate()函数定义绘制图像的颜色,具体代码如下:

$black = imagecolorallocate($im,255,0,0); //设置颜色值,

(3) 定义完颜色值后,应用 imageline()函数绘制 X 轴 和 Y 轴 的坐标,在应用 imagestring()函数输出字符 X 和 Y,具体代码如下:

imageline($im,0,20,0,532,$black);         //设置Y轴纵坐标
imageline($im,0,437,585,437,$black);      //设置X轴纵坐标
imagestring($im,10,0,5,"Y",$black);       //输出字符Y
imagestring($im,10,560,422,"X",$black);   //输出字符X

(4) 创建完坐标后,定义 4 个变量并为其赋初始值,应用 for 循环语句循环输出标签文字,其中没标签文字的输出通过调用 imagestring()函数实现,具体代码如下:

$x = 30;
$y = 209;
$x_width = 61;
$y_ht = 0;
for ($i=0;$i<7;$i++){
    imagestring($im,5,$x-1,$y+180,$month[$i],$black); //设置语言与 X 轴之间的距离
    imagestring($im,5,$x-1,$y+200,$data[$i],$black);  //设置语言与数量之间的距离
    $x +=($x_width+20);                               //设置语言与语言,数量之间的宽度为20像素 
}

(5) 需要输出图形到浏览器,通常的做法是保存到一个文件并输出到浏览器。本实例应用imagepng()函数输出图像代码如下:

imagepng($im,"a.png");
echo  "<img src='a.png'>";                //输出图像

注意:

imagepng()函数是以png 格式输出内容发送到浏览器,若用户要求以不同的格式输出,应该调用其相应的函数,如意GIF 格式发送,应该调用 imagegif()函数。

(6) 在完成图像处理后,需要调用 imagedestroy()函数释放图像的资源,具体代码如下:

imagedestroy($im);                       //释放图像资源

完成以上的步骤,然后在浏览器输出地址,按下回车键,得到以下图表结果:

76.png

关于PHP图形图像处理到这里我们就介绍完了,大家有什么补充的可以再文章留言,我们会及时补充内容,那么我们下个专题不见不散!

以上就是使用GD2函数实现图表分析产品数据(PHP图形图像的典型应用教程6)的详细内容,更多请关注我要学编程网wyxbc.com其它相关文章!