background image

  这样,创建图像的全部代码如下所示:
  <? 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,然后用浏览器对它进行访问,就会看到一个