1.设定表头,告诉浏览器你要生成的MIME类型(一般是:png,jpg,gif,bmp)
header('Content-Type:image/png');
注意:默认是:header('Content-Type:text/html')网页类型,可以不写
2.创建一个图形区域,指定宽和高,以后的操作都将基于此图像区域
$image = imagecreatetruecolor(200, 200);
注意:第一个参数是宽,第二个参数是高。函数创建了一个图像区域,没有 进行填充的时候,背景默认的是黑色,返回的是一个资源句柄,一般要加上@符号,防止出错。
$image = imagecreatefrompng('222.png');//或者可以是现成的图像,以后的操作都将基于此图像区域
3.在空白图像区填充背景
首先:为填充内容分配颜色
$color = imagecolorallocate($image, 0, 255, 255);
imagefill($image, 0, 0, $color);
注意:第一个参数是资源句柄,第二三个参数分别是填充颜色开始的横纵坐标,第四个参数是要填充的颜色。
4.在背景上绘制图像,字母,线条,汉字等……
首先还是先分配一个颜色
$color1 = imagecolorallocate($image, 0, 0, 0);
imageline($image, 10, 10, 200, 20, $color1);
注意:第一个参数是资源句柄,第二三个参数分别是填充线条的起点的横纵坐标,第四五个参数分别是填充线条的终点的横纵坐标,第六个参数是填充线条的颜色
imagestring($image,5,50,20,'hello',$color1);
注意:第一个参数是资源句柄,第二个参数是字体(可选参数1,2,3,4,5),第三四个参数分别是字符串起点的横纵坐标
或者imagettftext($image,40,30,45,110,$color1,$font,'hello');
注意:第一个参数是资源句柄,第二个参数是字体大小,第三个参数是字体旋转角度,第四五个参数分别是字符串起点的横纵坐标,第六个参数是字体文件,第七个参数是字符串内容
如果添加内容是汉字,显示乱码,在显示之前可以用iconv函数转换一下汉字的编码
5.输出最终图形
imagepng($image);
6.清空所有资源
imagedestroy($image);
7.其他页面调用
<img src="Demo1.php" alt="图形" title="图形" />;
8.缩放图的例子
header('Content-Type:image/png'); list($src_w,$src_h) = getimagesize('222.png'); $dst_w =$src_w*0.5; $dst_h =$src_h*0.5; $dst_image = imagecreatetruecolor($dst_w, $dst_h); $src_image = imagecreatefrompng('222.png'); $dst_x = $dst_y = $src_x = $src_y = 0; imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h); imagepng($dst_image); imagedestroy($dst_image); imagedestroy($src_image);