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);
//