PHP的GD库系列1-GD库的相关介绍

来源:互联网 发布:适用于mac的壁纸 编辑:程序博客网 时间:2024/05/16 14:00

I:相关介绍


在PHP中,有一些简单的图像函数是可以直接使用的,但大多数要处理的图像,都需要在编译PHP时加上图像函数的GD
库。除了安装GD库之外,在PHP中还可能需要其他的库,这可以根据需要支持哪些图像格式而定。

不同的GD版本支持的图像格式不完全一样,最新的GD库版本支持GIF、JPEG、PNG、WBMP、XBM等格式的图像文件,
此外还支持一些如FreeType、Type 1等字体库。通过GD库中的函数可以完成各种点、线、几何图形、文本以及颜色的操作
和处理,也可以创建或读取多种格式的图像文件。

在PHP中,通过GD库处理图像的操作,都是先在内存中处理,操作完成以后再以文件流的方式,输出到浏览器或保存在服
务器的磁盘中。创建一个图像应该完成如下所示的四个基本步骤。
(1)创建画布:所有的绘图设计都需要在一个背景图片上完成,而画布实际上就是在内存中开辟的一块临时区域,用于存
储图像的信息。以后的图像操作都将基于这个背景画布,该画布的管理就类似于我们在画画时使用的画布。
(2)绘制图像:画布创建完成以后,就可以通过这个画布资源,使用各种画像函数设置图像的颜色、填充画布、画点、线
段、各种几何图形,以及向图像中添加文本等。
(3)输出图像:完成整个图像的绘制以后,需要将图像以某种格式保存到服务器指定的文件中,或将图像直接输出到浏览
器上显示给用户。但在图像输出之前,一定要使用header()函数发送Content-type通知浏览器,这次发送的是图片不是文本。
(4)释放资源:将图像被输出以后,画布中的内容也不再有用。出于节约系统资源的考虑,就需要及时清除画布占用的所
有内存资源。

II:PHP GD库中的常用函数


1. 在PHP中,使用GD库创建画布时,可以使用下面的两个函数:
imagecreate()函数:通常只支持256色。
imagecreatetruecolor()函数:可以创建一个真彩色图像,但是不能用于GIF格式的图像。

2. PHP还可以从已经存在的图像文件中创建图像。在已经存在的图像文件中,支持的图像格式有:
GIF、JPEG、PNG和WBMP等。
创建不同格式的图像,需要用到不同的函数。这些函数是:
imagecreatefromgif()函数:从gif文件中创建图层。
imagecreatefromjpeg()函数:从jpg文件中创建图层。
imagecreatefrompng()函数:从png文件中创建图层。
imagecreatefromwbmp()函数:从bmp文件中创建图层。
对这些函数进行操作时,一般需要获取它们的长宽等参数,此时可以借助下面的函数分别获取创建图层
的宽度和高度:
imagesx()函数:获取创建图层的宽度。
imagesy()函数:获取创建图层的高度。

3. 就像在画画时选择不同颜色的彩色笔一样,在GD库中只需要使用imagecolorallocate()函数即可达
到设置颜色的效果。要在图形中使用多种色彩,只需要多次调用该函数即可实现。

4. 使用GD库提供的函数绘制完成图像以后,需要将其输出到浏览器或者保存到服务器上。使用下面的
GD库函数,可以直接生成GIF、JPEG、PNG和WBMP等4种类型的图像:
imagegif()函数:生成GIF格式的图像。
imagejpeg()函数:生成JPEG格式的图像。
imagepng()函数:生成PNG格式的图像。
imagewbmp()函数:生成WBMP格式的图像。
这4个函数的使用方法都是一样的,它们都有两个参数,并且第2个参数是可以省略的。第1个参数是图
像资源集,第2个参数只有当需要保存创建的图像到服务器上时才会使用,它为需要保存文件的文件名和路
径。如果不需要保存到服务器上,可以结合header()函数发送头信息,通知浏览器使用正确的MIME类型去接
收并解析内容,让浏览器知道发送过来的是图像而不是HTML。

5. 当图形资源使用完毕后,一定要使用imagedestroy()函数将不使用的资源销毁,以便释放内存。


1 0