在PHP中,创建一个图像应该完成如下所示的4个基本步骤:
1)创建一个背景图像,以后的操作都将基于此背景图像。
2)在背景上绘制图形轮廓或输入文本。
3)输出最终图形。
4)清除所有资源。
下面,我们先来了解一个非常简单的创建图像脚本。该脚本如程序清单22-1所示。
程序清单22-1 simplegraph.php——输出带标签"Sales"的简单直线图形
<?php
//set up image
$height=200;
$width=200;
$im=imagecreatetruecolor($width,$height);
$white=imagecolorallocate($im,255,255,255);
$blue=imagecolorallocate($im,0,0,64);
//draw on image
imagefill($im,0,0,$blue);
imageline($im,0,0,$width,$height,$white);
imagestring($im,4,50,150,'Sales',$white);
//output image
Header('Content-type:image/png');
imagepng($im);
//clean up
imagedestroy($im);
?>
运行以上脚本,其输出结果如图22-1所示。
图 22-1 该脚本绘制黑色背景,并在上面添加了一条直线和一个文本标签接下来,我们将一步一步地讲述该图像的创建过程。
22.3.1 创建一个背景图像
要在PHP中开始创建或修改一个图像,必须首先建立一个图像标识符。有两种方法可以实现图像标识符的创建。一种方法是创建一个空白的背景,这可以通过调用函数ImageCreate-TrueColor来实现,如以下脚本所示:
$im=imagecreatetruecolor($width,$height);
我们需要为这个函数传递两个参数。第一个是新图像的宽度,另一个是新图像的高度。该函数将返回新图像的标识符。(它非常类似于文件句柄。)
另一种方法是读入一个已有的图像文件,可以对图像进行过滤,改变其大小或在上面添加其他图像。根据所读入的文件格式不同,可以通过调用下面3个函数之一来实现:Imagecreatefrompng、Imagecreatefromjpeg或Imagecreatefromgif。这3个函数都是以文件名作为参数的,如下所示:
$im=imagecreatefrompng('baseimage.png');
本章后续内容所示的一个例子说明了如何使用已有的图像来创建动态按钮。