这样,创建图像的全部代码如下所示:
<? header ("Content-type: image/png");
$newImg = ImageCreate(250,250);
$skyblue = ImageColorAllocate($newImg,136,193,255);
ImageFill($newImg,0,0,$skyblue);
ImagePNG($newImg);
ImageDestroy($newImg);
?>
如果把这个脚本文件保存为 skyblue.php,并用浏览器访问它,我们会看到一个天蓝色的
250×250 的 PNG 格式的图像。
我们还可以使用图像创建函数对图像进行处理,例如把一个较大图像作成一个小图像:
假设你有一幅图像,想从中裁剪出一个 35×35 大小的图像。你所需要作的是创建一个
35×35 大小的空白图像,创建一个包含原来图像的图像流,然后把一个经过调整大小的
原来的图像放到新的空白图像中。
要完成这一任务的关键函数是 ImageCopyResized(),它要求的格式如下所示:
ImageCopyResized([new image handle],[original image handle],[new image X], [new Image Y],
[original image X], [original image Y], [new image X], [new image Y], [original image X],
[original image Y])。
<? /*发送一个头部,以便让浏览器知道该文件所包含的内容类型*/
header("Content-type: image/png");
/*建立保存新图像高度和宽度的变量*/
$newWidth = 35;
$newHeight = 35;
/*建立给定高度和宽度的新的空白图像*/
$newImg = ImageCreate($newWidth,$newHeight);
/*从原来较大的图像中得到数据*/
$origImg = ImageCreateFromPNG("test.png");
/*拷贝调整大小后的图像,使用 ImageSX()、ImageSY()得到原来的图像在 X、Y 方面上的大
小*/
ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,
$newHeight,ImageSX($origImg),ImageSY($origImg));
/*创建希望得到的图像,释放内存*/
ImagePNG($newImg);
ImageDestroy($newImg); ?>
如果把这一小段脚本保存为 resized.php,然后用浏览器对它进行访问,就会看到一个