1、PHP报表的创建,通过绘图,过程
要先开启gb库,
可以使用jpgraph(绘图框架)快速制作一些图形
报表的作用:可以制作一些统计图,地形图,分布图等,还可以做验证码图片(通过在画布上加字和干扰图片)
一、//创建画布
$im=imagecreatetruecolor(400, 300);
二、//绘制需要的各种图形(圆,直线,矩形,弧线,扇形......)
//创建一个颜色
$red=imagecolorallocate($im, 255, 0, 0);//颜色
imageellipse($im, 20, 20, 20,20, $red);//圆
还可以拷贝图片到画布
//拷贝图片到画布 //1、加载源图片 $srcImage=imagecreatefrompng('logo.png');
//得到图片宽和高 $imageinfo=getimagesize('logo.png'); //拷贝源图片到目标画布
imagecopy($im, $srcImage,0, 0, 0, 0,$imageinfo[0],$imageinfo[1]);
还可以在画布上写字,或者加一些其他的图形,
3、最后输出图片,并销毁
//输出图形到网页,也可以另存
header('content-type:image/png'); imagepng($im);
//销毁该图片
imagedestroy($im);
<?php //创建画布 $im=imagecreatetruecolor(400, 300); //绘制需要的各种图形(圆,直线,矩形,弧线,扇形......) //创建一个颜色 $red=imagecolorallocate($im, 255, 0, 0);//颜色 imageellipse($im, 20, 20, 20,20, $red);//圆 imageline($im, 0, 0, 400,300 , $red);//直线 imagerectangle($im, 0, 0, 40, 50, $red);//矩形 imagefilledrectangle($im, 60, 60, 90, 90, $red);//填充矩形 imagearc($im, 150, 150, 50, 50,0,180, $red);//弧线 //扇形 imagefilledarc($im, 200, 200, 80, 50, 0, 90, $red, IMG_ARC_ROUNDED); //拷贝图片到画布 //1、加载源图片 $srcImage=imagecreatefrompng('logo.png'); //得到图片宽和高 $imageinfo=getimagesize('logo.png'); //拷贝源图片到目标画布 imagecopy($im, $srcImage,0, 0, 0, 0,$imageinfo[0],$imageinfo[1]); //写字 //imagestring($im, 9, 0,0, 'huo海峰', $red); $str='huo霍海峰'; $str=iconv('gbk', 'utf-8', $str); imagettftext($im, 30, -25, 50, 50, $red,'SIMHEI.TTF',$str); //输出图形到网页,也可以另存 header('content-type:image/png'); imagepng($im); //销毁该图片 imagedestroy($im); //