


class ImageReport

{

 var Image;//图片对像


 var ImageName;//报表名称

 var ImageType;//报表类型
 
 
 var ImageWidth;//图片宽

 var ImageHeight;//图片高
 
 

 var BgImage;//背景图片

 var BgR;//背景颜色R值

 var BgG;//背景颜色G值

 var BgB;//背景颜色B值


 var FontSize;//字体大小

 var FontColor;//字体颜色


 var ItemArray;//数据数组

 var ItemInterval;//两项间的间隔

 var XName;//x轴的名称

 var YName;//y轴的名称

 var isScale;//是否显示刻度值

 var margin;//边距


 //字体

 var font = 'arial.ttf'; 
 
 
 function ImageReport()

 {

 return ;

 }


 //设置图片基本信息

 function setImage(ImageName,ImageType,ImageWidth=500,ImageHeight=400)

 {

 this->ImageName =ImageName;

 this->ImageType =ImageType;

 this->ImageWidth =ImageWidth;

 this->ImageHeight=ImageHeight;

 }
 
 
 //设置坐标

 function setItem(ItemArray,ItemInterval="20",XName="",YName="",isScale=true)

 {

 this->ItemArray =ItemArray;

 this->ItemInterval =ItemInterval;

 this->XName =XName;

 this->YName =YName;

 this->isScale =isScale;

 }
 
 
 //设置图片背景

 function setBg(BgR="235",BgG="255",BgB="255",BgImage="")

 {

 this->BgR =BgR;

 this->BgG =BgG;

 this->BgB =BgG;

 this->BgImage =BgImage;

 }
 
 
 //设置字体

 function setFont(FontSize)

 {

 this->FontSize =FontSize;

 this->margin =FontSize*2+5;

 //this->FontColor =FontColor;

 }


 //画主体

 function drawReport()

 {

 //建立画布

 this->Image=imagecreatetruecolor(this->ImageWidth,this->ImageHeight);

 //填充背景色

 background=ImageColorAllocate(this->Image,this->BgR,this->BgG,this->BgB);
 
 
 //画背景颜色

 ImageFilledRectangle(this->Image,0,0,this->ImageWidth,this->ImageHeight,background);


 //画背景图片

 if(!empty(this->BgImage))

 {

 this->drawLogo();

 }

 //跟距参数,画不同的图片

 switch(this->ImageType)

 {

 case "1":

 this->drawColumn();

 break;

 case "2":

 this->drawCurve();

 break;

 case "3":

 this->drawCircle();

 break;

 default:

 break;

 }


 }
 
 
 //画柱状图

 function drawColumn()

 {

 //调用画标题

 this->drawTitle();

 //调用画坐标

 this->drawXY();


 //获取数组的量

 num=count(this->ItemArray);

 //获取数组中的最大值

 //最大值

 max=this->getArrayMax(this->ItemArray);
 
 

 for(i=0;i
ItemArray);i++)
 {
 {
 //随机颜色
 //随机颜色
 srand((double)microtime()*1000000);
 srand((double)microtime()*1000000); 
 R=Rand(50,200);
 R=Rand(50,200); 
 G=Rand(50,200);
 G=Rand(50,200); 
 B=Rand(50,200);
 B=Rand(50,200); 
 
 
 color=ImageColorAllocate(this->Image,R,G,B);
 color=ImageColorAllocate(this->Image,R,G,B);
 
 
 yColor=ImageColorAllocate(this->Image,R-10,G-10,B-10);
 yColor=ImageColorAllocate(this->Image,R-10,G-10,B-10);
 //柱体高度
 //柱体高度
 
 
 height=((this->ImageHeight-this->margin*2-this->FontSize-5)*this->ItemArray[i]["value"])/max;
 height=((this->ImageHeight-this->margin*2-this->FontSize-5)*this->ItemArray[i]["value"])/max;

 //画柱体
 //画柱体
 ImageFilledRectangle(this->Image,this->margin+this->ItemInterval*(2*i+1),this->ImageHeight-height+this->FontSize-5-this->margin,this->margin+this->ItemInterval*(2*i+2),this->ImageHeight-this->margin,color);
 ImageFilledRectangle(this->Image,this->margin+this->ItemInterval*(2*i+1),this->ImageHeight-height+this->FontSize-5-this->margin,this->margin+this->ItemInterval*(2*i+2),this->ImageHeight-this->margin,color);
 //画柱体上的阴影
 //画柱体上的阴影
 imagefilledarc(this->Image, this->margin+this->ItemInterval*(2*i+3/2), this->ImageHeight-height+this->FontSize-5-this->margin,this->ItemInterval, this->margin/2, 0, 360, yColor, img_ARC_PIE);
 imagefilledarc(this->Image, this->margin+this->ItemInterval*(2*i+3/2), this->ImageHeight-height+this->FontSize-5-this->margin,this->ItemInterval, this->margin/2, 0, 360, yColor, img_ARC_PIE);
 
 
 //写柱体上面的数值
 //写柱体上面的数值
 imagestring(this->Image,this->FontSize,this->margin+this->ItemInterval*(2*i+1),this->ImageHeight-height+this->FontSize-5-this->margin-this->FontSize-10,this->ItemArray[i]["value"],color);
 imagestring(this->Image,this->FontSize,this->margin+this->ItemInterval*(2*i+1),this->ImageHeight-height+this->FontSize-5-this->margin-this->FontSize-10,this->ItemArray[i]["value"],color);
 //颜色
 //颜色
 color=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB);
 color=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB); 
 
 

 //写柱体的键值
 //写柱体的键值
 imagettftext(this->Image,7,0,this->margin+this->ItemInterval*(2*i+1)-3,this->ImageHeight-this->margin+this->FontSize+2,color,this->font,this->ItemArray[i]["key"]);
 imagettftext(this->Image,7,0,this->margin+this->ItemInterval*(2*i+1)-3,this->ImageHeight-this->margin+this->FontSize+2,color,this->font,this->ItemArray[i]["key"]);
 
 
 }
 }
 //调用画LOGO
 //调用画LOGO
 // this->drawLogo();
 // this->drawLogo();
 
 

 }
 }
 //画曲线图
 //画曲线图
 function drawCurve()
 function drawCurve()
 {
 {
 //调用画标题
 //调用画标题
 this->drawTitle();
 this->drawTitle();
 //调用画坐标
 //调用画坐标
 this->drawXY(true);
 this->drawXY(true);
 
 
 //最大值
 //最大值
 max=this->getArrayMax(this->ItemArray);
 max=this->getArrayMax(this->ItemArray);
 
 
 //颜色
 //颜色
 color=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB);
 color=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB); 
 //背景刻度的颜色
 //背景刻度的颜色
 bgSColor=ImageColorAllocate(this->Image,this->BgR-10,this->BgG-10,this->BgB-10);
 bgSColor=ImageColorAllocate(this->Image,this->BgR-10,this->BgG-10,this->BgB-10);
 //线条颜色
 //线条颜色

 linkColor=ImageColorAllocate(this->Image,51,51,153);
 linkColor=ImageColorAllocate(this->Image,51,51,153);
 
 

 //画右X轴
 //画右X轴
 ImageLine(this->Image,this->margin,this->margin+this->FontSize+5,this->ImageWidth-this->margin,this->margin+this->FontSize+5,color);
 ImageLine(this->Image,this->margin,this->margin+this->FontSize+5,this->ImageWidth-this->margin,this->margin+this->FontSize+5,color);
 //画右Y轴
 //画右Y轴
 ImageLine(this->Image,this->ImageWidth-this->margin,this->margin+this->FontSize+5,this->ImageWidth-this->margin,this->ImageHeight-this->margin+2,color);
 ImageLine(this->Image,this->ImageWidth-this->margin,this->margin+this->FontSize+5,this->ImageWidth-this->margin,this->ImageHeight-this->margin+2,color);
 
 
 tdCount=count(this->ItemArray);
 tdCount=count(this->ItemArray);
 tdWidth=(this->ImageWidth-this->margin*2)/tdCount;
 tdWidth=(this->ImageWidth-this->margin*2)/tdCount;
 
 
 
 
 for(i=0;i
 for(i=0;i {
 {
 //线条高度
 //线条高度
 startHeight=((this->ImageHeight-this->margin*2-this->FontSize-5)*this->ItemArray[i]["value"])/max;
 startHeight=((this->ImageHeight-this->margin*2-this->FontSize-5)*this->ItemArray[i]["value"])/max;
 //结束线线条高度
 //结束线线条高度
 endHeight =((this->ImageHeight-this->margin*2-this->FontSize-5)*this->ItemArray[i+1]["value"])/max;
 endHeight =((this->ImageHeight-this->margin*2-this->FontSize-5)*this->ItemArray[i+1]["value"])/max;
 //画背景X轴刻度
 //画背景X轴刻度 
 ImageLine(this->Image,(i+1)*tdWidth+this->margin,this->margin+this->FontSize+6,(i+1)*tdWidth+this->margin,this->ImageHeight-this->margin,bgSColor);
 ImageLine(this->Image,(i+1)*tdWidth+this->margin,this->margin+this->FontSize+6,(i+1)*tdWidth+this->margin,this->ImageHeight-this->margin,bgSColor);
 //画线条
 //画线条
 ImageLine(this->Image,i*tdWidth+this->margin,this->ImageHeight-startHeight+this->FontSize-5-this->margin,(i+1)*tdWidth+this->margin,this->ImageHeight-endHeight+this->FontSize-5-this->margin,linkColor);
 ImageLine(this->Image,i*tdWidth+this->margin,this->ImageHeight-startHeight+this->FontSize-5-this->margin,(i+1)*tdWidth+this->margin,this->ImageHeight-endHeight+this->FontSize-5-this->margin,linkColor);
 }
 }

 //画刻度的值
 //画刻度的值
 for(i=0;i
 for(i=0;i {
 {
 //显示值
 //显示值 
 //ImageString(this->Image,5,i*tdWidth+this->margin,this->ImageHeight-this->margin+1,this->ItemArray[i]["key"],color);
 //ImageString(this->Image,5,i*tdWidth+this->margin,this->ImageHeight-this->margin+1,this->ItemArray[i]["key"],color);
 //画标题的字
 //画标题的字
 imagettftext(this->Image,7,0,i*tdWidth+this->margin,this->ImageHeight-this->margin+1+10,color,this->font,this->ItemArray[i]["key"]);
 imagettftext(this->Image,7,0,i*tdWidth+this->margin,this->ImageHeight-this->margin+1+10,color,this->font,this->ItemArray[i]["key"]);
 }
 }

 }
 } 

 //画饼图
 //画饼图
 function drawCircle()
 function drawCircle()
 {
 {
 //一个扇区的角度
 //一个扇区的角度
 degree=0;
 degree=0;
 //开始的角度
 //开始的角度
 e=0;
 e=0;
 //用于保存颜色的数组
 //用于保存颜色的数组
 colorArray;
 colorArray;
 //用于保存开始角度的数组
 //用于保存开始角度的数组
 startDegree;
 startDegree;
 //用于保存结束角度的数组
 //用于保存结束角度的数组
 endDegree;
 endDegree;
 
 
 //扇形的宽
 //扇形的宽
 width=(this->ImageWidth-this->margin*2)-200;
 width=(this->ImageWidth-this->margin*2)-200;

 //获取数组的量
 //获取数组的量
 num=count(this->ItemArray);
 num=count(this->ItemArray);
 //调用画标题
 //调用画标题
 this->drawTitle();
 this->drawTitle();
 //各项之和
 //各项之和
 total=0;
 total=0;
 
 
 //计算各项之和
 //计算各项之和
 for(i=0;i
 for(i=0;i {
 {
 total+=this->ItemArray[i]["value"];
 total+=this->ItemArray[i]["value"];
 }
 }

 //保扇区的各项值保存到数组
 //保扇区的各项值保存到数组
 for(i=0;iItemArray);i++)
 for(i=0;iItemArray);i++)
 {
 {
 //随机颜色
 //随机颜色
 srand((double)microtime()*1000000);
 srand((double)microtime()*1000000); 

 R=Rand(50,200);
 R=Rand(50,200); 
 G=Rand(50,200);
 G=Rand(50,200); 
 B=Rand(50,200);
 B=Rand(50,200); 
 
 
 //把颜色保存进数组
 //把颜色保存进数组
 colorArray[i]["R"]=R;
 colorArray[i]["R"]=R;
 colorArray[i]["G"]=G;
 colorArray[i]["G"]=G;
 colorArray[i]["B"]=B;
 colorArray[i]["B"]=B;
 
 
 //计算一个区块的角度
 //计算一个区块的角度
 //echo this->ItemArray[i]["value"];
 //echo this->ItemArray[i]["value"];
 //exit;
 //exit;
 degree=this->ItemArray[i]["value"]/total*360;
 degree=this->ItemArray[i]["value"]/total*360;
 startDegree[i]=e;
 startDegree[i]=e;
 endDegree[i]=e+degree;
 endDegree[i]=e+degree;
 e+=degree;
 e+=degree;
 }
 }

 j=width/4+this->margin+35;
 j=width/4+this->margin+35;
 mJ=j-15;
 mJ=j-15;
 //画阴影
 //画阴影
 for (j;j >mJ; j--)
 for (j;j >mJ; j--)
 {
 { 
 for(i=0;i
 for(i=0;i {
 {
 color=ImageColorAllocate(this->Image,colorArray[i]["R"]-10,colorArray[i]["G"]-10,colorArray[i]["B"]-10);
 color=ImageColorAllocate(this->Image,colorArray[i]["R"]-10,colorArray[i]["G"]-10,colorArray[i]["B"]-10);
 imagefilledarc(this->Image, width/2+this->margin, j, width, width/2, startDegree[i], endDegree[i], color, img_ARC_PIE);
 imagefilledarc(this->Image, width/2+this->margin, j, width, width/2, startDegree[i], endDegree[i], color, img_ARC_PIE);
 }
 }
 }
 }
 //画区面和右边的标识字
 //画区面和右边的标识字
 for(i=0;i
 for(i=0;i {
 {
 //获取颜色
 //获取颜色
 color=ImageColorAllocate(this->Image,colorArray[i]["R"],colorArray[i]["G"],colorArray[i]["B"]);
 color=ImageColorAllocate(this->Image,colorArray[i]["R"],colorArray[i]["G"],colorArray[i]["B"]);
 
 
 //画区面
 //画区面
 imagefilledarc(this->Image, width/2+this->margin, width/4+this->margin+20, width, width/2, startDegree[i], endDegree[i], color, img_ARC_PIE);
 imagefilledarc(this->Image, width/2+this->margin, width/4+this->margin+20, width, width/2, startDegree[i], endDegree[i], color, img_ARC_PIE);
 
 

 //说明方块的上边距
 //说明方块的上边距
 top=this->margin+20+i*10;
 top=this->margin+20+i*10;
 //画右边的距形
 //画右边的距形
 ImageFilledRectangle(this->Image,width+this->margin+20,top+(i*10),width+this->margin+30,top+(i*10)+10,color);
 ImageFilledRectangle(this->Image,width+this->margin+20,top+(i*10),width+this->margin+30,top+(i*10)+10,color);
 //字体颜色为黑色
 //字体颜色为黑色 
 fontColor=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB);
 fontColor=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB);
 
 
 //画右边的说明文字
 //画右边的说明文字 
 rightStr=this->ItemArray[i]["key"].":".this->ItemArray[i]["value"]."(".round(this->ItemArray[i]["value"]*100/total,2)."%)";
 rightStr=this->ItemArray[i]["key"].":".this->ItemArray[i]["value"]."(".round(this->ItemArray[i]["value"]*100/total,2)."%)";
 //ImageString(this->Image,10,width+this->margin+35,top+(i*10)-3,rightStr,fontColor);
 //ImageString(this->Image,10,width+this->margin+35,top+(i*10)-3,rightStr,fontColor);
 imagettftext(this->Image, 9,0,width+this->margin+35,top+(i*10)+8,fontColor,this->font,rightStr);
 imagettftext(this->Image, 9,0,width+this->margin+35,top+(i*10)+8,fontColor,this->font,rightStr);
 
 
 }
 }
 //清空各数组
 //清空各数组
 unset(colorArray,startDegree,endDegree);
 unset(colorArray,startDegree,endDegree);

 }
 }

 //显示图片
 //显示图片
 function showImage(ImageSavePath="")
 function showImage(ImageSavePath="")
 {
 {
 // echo ImageSavePath;
 // echo ImageSavePath;
 //exit;
 //exit;
 if(empty(ImageSavePath))
 if(empty(ImageSavePath))
 {
 {
 ImagePNG(this->Image);
 ImagePNG(this->Image); 
 }
 }
 else
 else
 {
 {
 ImagePNG(this->Image,ImageSavePath);
 ImagePNG(this->Image,ImageSavePath); 
 }
 }
 
 
 ImageDestroy(this->Image);
 ImageDestroy(this->Image); 
 }
 } 

 //画标题
 //画标题
 function drawTitle()
 function drawTitle()
 {
 {
 //颜色
 //颜色
 color=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB);
 color=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB); 
 
 
 //阴影色
 //阴影色
 black = imagecolorallocate(this->Image, 0, 0, 0);
 black = imagecolorallocate(this->Image, 0, 0, 0);
 
 
 //计算标题字体的宽度
 //计算标题字体的宽度
 fontWidth=strlen(this->ImageName)*(this->FontSize)-strlen(this->ImageName)*2;
 fontWidth=strlen(this->ImageName)*(this->FontSize)-strlen(this->ImageName)*2;

 //画标题字的阴影
 //画标题字的阴影
 imagettftext(this->Image, this->FontSize+3,0,this->ImageWidth/2-fontWidth/2+1,this->FontSize+11,black,this->font,this->ImageName);
 imagettftext(this->Image, this->FontSize+3,0,this->ImageWidth/2-fontWidth/2+1,this->FontSize+11,black,this->font,this->ImageName);
 //画标题的字
 //画标题的字
 imagettftext(this->Image, this->FontSize+3,0,this->ImageWidth/2-fontWidth/2,this->FontSize+10,color,this->font,this->ImageName);
 imagettftext(this->Image, this->FontSize+3,0,this->ImageWidth/2-fontWidth/2,this->FontSize+10,color,this->font,this->ImageName);
 
 
 //画标题下面的线条
 //画标题下面的线条
 imageline(this->Image,this->ImageWidth/2-fontWidth/2-20,this->FontSize+12,this->ImageWidth/2-fontWidth/2+1+fontWidth+20,this->FontSize+12,color);
 imageline(this->Image,this->ImageWidth/2-fontWidth/2-20,this->FontSize+12,this->ImageWidth/2-fontWidth/2+1+fontWidth+20,this->FontSize+12,color);
 }
 }
 
 
 //画LOGO
 //画LOGO
 function drawLogo()
 function drawLogo()
 {
 {

 list(w,h,type) = getimagesize(this->BgImage);
 list(w,h,type) = getimagesize(this->BgImage);
 
 
 source;
 source;
 switch(type)
 switch(type)
 {
 {
 //图片是GIF
 //图片是GIF
 case 1:
 case 1:
 source=imagecreatefromgif(this->BgImage);
 source=imagecreatefromgif(this->BgImage);
 break;
 break;
 //图片是jPG
 //图片是jPG
 case 2:
 case 2:
 source = imagecreatefromjpeg(this->BgImage);
 source = imagecreatefromjpeg(this->BgImage);
 break;
 break;
 //图片是PNG
 //图片是PNG
 case 3:
 case 3:
 source = imagecreatefrompng(this->BgImage);
 source = imagecreatefrompng(this->BgImage);
 }
 }
 
 
 imagecopymerge(this->Image,source,0,0,0,0,w,h,20);
 imagecopymerge(this->Image,source,0,0,0,0,w,h,20);
 }
 } 

 //画坐标
 //画坐标
 function drawXY(bgScale=false)
 function drawXY(bgScale=false)
 {
 {
 //最大值
 //最大值
 max=this->getArrayMax(this->ItemArray);
 max=this->getArrayMax(this->ItemArray);
 
 
 //颜色
 //颜色
 color=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB);
 color=ImageColorAllocate(this->Image,255-this->BgR,255-this->BgG,255-this->BgB); 
 //背景刻度的颜色
 bgSColor=ImageColorAllocate(this->Image,this->BgR-10,this->BgG-10,this->BgB-10);
 bgSColor=ImageColorAllocate(this->Image,this->BgR-10,this->BgG-10,this->BgB-10);

 //画X轴
 //画X轴
 ImageLine(this->Image,this->margin,this->ImageHeight-this->margin+2,this->ImageWidth-this->margin,this->ImageHeight-this->margin+2,color);
 ImageLine(this->Image,this->margin,this->ImageHeight-this->margin+2,this->ImageWidth-this->margin,this->ImageHeight-this->margin+2,color);
 //画Y轴
 //画Y轴
 ImageLine(this->Image,this->margin,this->margin+this->FontSize+5,this->margin,this->ImageHeight-this->margin+2,color);
 ImageLine(this->Image,this->margin,this->margin+this->FontSize+5,this->margin,this->ImageHeight-this->margin+2,color);
 
 
 
 
 //阴影色
 //阴影色
 black = imagecolorallocate(this->Image, 0, 0, 0);
 black = imagecolorallocate(this->Image, 0, 0, 0);
 
 
 //画Y轴字的阴影
 //画Y轴字的阴影
 imagettftext(this->Image, this->FontSize, 90, this->FontSize+2, intval(this->ImageHeight/2)-1, black, this->font, this->YName);
 imagettftext(this->Image, this->FontSize, 90, this->FontSize+2, intval(this->ImageHeight/2)-1, black, this->font, this->YName);
 //画Y轴的字
 //画Y轴的字
 imagettftext(this->Image, this->FontSize, 90, this->FontSize+2, intval(this->ImageHeight/2), color, this->font, this->YName);
 imagettftext(this->Image, this->FontSize, 90, this->FontSize+2, intval(this->ImageHeight/2), color, this->font, this->YName);
 
 
 //画X轴字的阴影
 //画X轴字的阴影
 imagettftext(this->Image, this->FontSize,0,intval(this->ImageWidth/2)-1,this->ImageHeight-this->FontSize+5,black,this->font,this->XName);
 imagettftext(this->Image, this->FontSize,0,intval(this->ImageWidth/2)-1,this->ImageHeight-this->FontSize+5,black,this->font,this->XName);
 //画X轴的字
 //画X轴的字
 imagettftext(this->Image, this->FontSize,0,intval(this->ImageWidth/2),this->ImageHeight-this->FontSize+5,color,this->font,this->XName);
 imagettftext(this->Image, this->FontSize,0,intval(this->ImageWidth/2),this->ImageHeight-this->FontSize+5,color,this->font,this->XName);
 
 
 
 
 //画0点坐标
 //画0点坐标
 imagettftext(this->Image,8,90,this->margin/2+this->FontSize,this->ImageHeight-this->margin,color,this->font,"0");
 imagettftext(this->Image,8,90,this->margin/2+this->FontSize,this->ImageHeight-this->margin,color,this->font,"0");
 //画最大值数据
 //画最大值数据
 // imagettftext(this->Image, this->FontSize,90,this->margin/2+7,this->margin+20,black,font,max);
 // imagettftext(this->Image, this->FontSize,90,this->margin/2+7,this->margin+20,black,font,max);
 
 
 //画内容的实际高度
 //画内容的实际高度
 height=this->ImageHeight-this->margin*2-(this->FontSize+5);
 height=this->ImageHeight-this->margin*2-(this->FontSize+5);
 //每一刻度的值
 //每一刻度的值
 scale=intval(height/10);
 scale=intval(height/10);
 
 

 for(i=0;i<10;i++)
 for(i=0;i<10;i++)
 {
 {
 //画刻度,如果设置了背景刻度
 //画刻度,如果设置了背景刻度
 if(bgScale)
 if(bgScale)
 {
 {
 ImageLine(this->Image,this->margin+1,this->margin+i*scale+this->FontSize+5+i,this->ImageWidth-this->margin,this->margin+i*scale+this->FontSize+5+i,bgSColor);
 ImageLine(this->Image,this->margin+1,this->margin+i*scale+this->FontSize+5+i,this->ImageWidth-this->margin,this->margin+i*scale+this->FontSize+5+i,bgSColor);
 }
 }
 else
 else
 {
 {
 ImageLine(this->Image,this->margin-2,this->margin+i*scale+this->FontSize+5+i,this->margin,this->margin+i*scale+this->FontSize+5+i,color);
 ImageLine(this->Image,this->margin-2,this->margin+i*scale+this->FontSize+5+i,this->margin,this->margin+i*scale+this->FontSize+5+i,color);
 }
 }
 //画刻度上的值
 //画刻度上的值
 if(this->isScale)
 if(this->isScale)
 {
 {
 num=round(max-max/10*i,1);
 num=round(max-max/10*i,1);
 imagettftext(this->Image, 7,90,this->margin/2+this->FontSize,this->margin+i*scale+15+this->FontSize,color,this->font,num);
 imagettftext(this->Image, 7,90,this->margin/2+this->FontSize,this->margin+i*scale+15+this->FontSize,color,this->font,num);
 }
 }
 }
 }
 //如果未画刻度值,则画最大值
 //如果未画刻度值,则画最大值
 if(!this->isScale)
 if(!this->isScale)
 {
 {
 imagettftext(this->Image, 7,90,this->margin/2+this->FontSize,this->margin+15+this->FontSize,color,this->font,max);
 imagettftext(this->Image, 7,90,this->margin/2+this->FontSize,this->margin+15+this->FontSize,color,this->font,max);
 }
 }

 }
 }
 
 
 //获取数组中的最大值
 //获取数组中的最大值
 function getArrayMax(Array)
 function getArrayMax(Array)
 {
 {
 temp=0;
 temp=0;
 for(i=0;i
 for(i=0;i {
 {
 if(temp
 if(temp {
 {
 temp=Array[i]["value"];
 temp=Array[i]["value"];
 }
 }
 }
 }
 return temp;
 return temp;
 
 
 }
} 

 ?>
?>