php操作图像(GD函数库)

PHP.ini里修改;extension=php_gd2.dll

在PHP中创建一个图像应该完成这样四个步骤:

•创建背景图像
•在背景上绘制图形或输入文本
•输出最终图形
•清除所有资源

<?php

$width = 200; // 图像宽度

$height = 400; // 图像高度

$img = ImageCreateTrueColor( $width, $height );

?> 

通过ImageCreateFromPNG()、ImageCreateJPEG()或ImageCreateFromGIF()来读取一个现有图像文件,然后对其进行过滤,再在它上面添加其他图像。 

<?php

$imgTemp = ImageCreateFromPNG(‘abc.png‘);

?> 

<?php

$width = 200; // 图像宽度

$height = 400; // 图像高度

$img = ImageCreateTrueColor( $width, $height );

$white = ImageColorAllocate($img, 255, 255, 255); //RGB值

$blue = ImageColorAllocate($img, 0, 0, 64);

ImageFill($img, 0, 0, $blue);  //往背景图里填充$blue

ImageLine($img, 0, 0, $width, $height, $white); /*这里出现了2对坐标,“0, 0”是起始点的坐标,而$width, $height是终点的坐标,最后一个参数就是颜色。*/

ImageString($img, 3, 100, 150, ‘abc‘, $white);//图像上书写字符串

?> 

<?php

$width = 200; // 图像宽度

$height = 400; // 图像高度

$img = ImageCreateTrueColor( $width, $height );

$white = ImageColorAllocate($img, 255, 255, 255); //RGB值

$blue = ImageColorAllocate($img, 0, 0, 64);

ImageFill($img, 0, 0, $blue);  //往背景图里填充$blue

ImageLine($img, 0, 0, $width, $height, $white); /*这里出现了2对坐标,“0, 0”是起始点的坐标,而$width, $height是终点的坐标,最后一个参数就是颜色。*/

ImageString($img, 3, 100, 150, ‘abc’, $white);//图像上书写字符串

header( ‘Content-type: image/png‘ ); //指定图像的MIME类型

imagepng($img);  //输出图像数据

?> 

同样的,如果你希望最终输出JPEG图像,可以使用ImageJPEG()来输出,同时还要将header()函数参数同步替换成image/jpeg。

  综上所述,我们是将图像直接发送到浏览器,如果我们希望将自动创建的图像生成文件,可以将在imagepng()函数中加上第二个参数,这个参数就是你希望生成的文件名,如logo.png。注意,文件后缀名要保持格式一直,而且文件名要用引号引起来。

-------------------------

释放并销毁资源

<?php

$width = 200; // 图像宽度

$height = 400; // 图像高度

$img = ImageCreateTrueColor( $width, $height );

$white = ImageColorAllocate($img, 255, 255, 255); //RGB值

$blue = ImageColorAllocate($img, 0, 0, 64);

ImageFill($img, 0, 0, $blue);  //往背景图里填充$blue

ImageLine($img, 0, 0, $width, $height, $white); /*这里出现了2对坐标,“0, 0”是起始点的坐标,而$width, $height是终点的坐标,最后一个参数就是颜色。*/

ImageString($img, 3, 100, 150, ‘abc’, $white);//图像上书写字符串

header( ‘Content-type: image/png‘ ); //指定图像的MIME类型

imagepng($img);  //输出图像数据

ImageDestroy($img); //释放并销毁

?> 

调用自动生成的图像

<img src="image.php" height="400" width="200" /> 

总结:

创建背景图像:ImageCreateTrueColor()

 在背景上绘制图形或输入文本:ImageColorAllocate()、ImageFill()、ImageLine()、ImageString()

输出最终图形:header()、 imagepng()

清楚所有资源:imagedestroy()

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。