首页 » PHP和MySQL Web开发(原书第4版) » PHP和MySQL Web开发(原书第4版)全文在线阅读

《PHP和MySQL Web开发(原书第4版)》第22章 创建图像

关灯直达底部

使用PHP能够完成的一件有意义的事情之一就是创建动态图像。PHP提供了一些内置的图像信息函数,也可以使用GD2函数库创建新图像或处理已有的图像。本章将介绍如何使用这些图像函数得到一些有趣而又有用的效果。

在本章中,我们将主要介绍以下内容:

■在PHP中设定图像支持

■理解图像格式

■创建图像

■在其他页面中使用自动生成的图像

■用文本和字体创建图像

■绘制图像与用图表描绘数据

特别地,我们将介绍两个例子:创建网站动态按钮和使用来自MySQL数据库中的数字绘制一个条形图。

在这里,我们将使用GD2函数库,但是还有一个颇受欢迎的PHP图像库。ImageMagick库并不是标准PHP的一部分,但是通过PHP扩展类库(PECL)很容易安装这个函数库。ImageMagick和GD2都有许多类似的特性,但是在某些方面,ImageMagick的功能更丰富一些。如果希望创建GIF(甚至是动画GIF),就应该使用ImageMagick。如果希望使用真彩图像或制造透明效果,应该比较这两个函数库所提供的功能。

访问如下站点可以找到ImageMagick的PHP下载扩展类库——PECL:

http://pecl.php.net/package/imagick.

关于ImageMagick主要功能的介绍以及详细文档,请参阅如下站点:

http://www.imagemagick.org.

22.1 在PHP中设置图像支持

在PHP中,有些图像函数是可以直接使用的,但是大多数函数需要安装GD2函数库。关于GD2的详细信息,请访问站点:http://www.boutell.com/gd/。

从PHP的4.3版本开始,PHP捆绑了自己版本的GD2库,这是由PHP开发团队实现的。这个版本的GD2库更容易安装,因此我们可以使用这个版本。在Windows平台下,只要注册了php_gd2.dll扩展,PNG和JPEG是自动支持的。注册php_gd2.dll非常简单,只要在PHP的安装目录(/ext子目录)找到该文件并复制到系统目录(如果使用Windows XP,就是C:/Windows/system)。此外还需要在php.ini文件中取消如下一行指令的注释(删除该行指令开始处的“;”),如下所示:

extension=php_gd2.dll

如果使用UNIX而又希望使用PNG,必须安装libpng库和zlib库,可以从如下站点分别获得它们:http://www.libpng.org/pub/png/、http://www.gzip.org/zlib/。

需要使用如下命令行选项对PHP进行配置:

--with-png-dir=/path/to/libpng

--with-zlib-dir=/path/to/zlib

如果使用UNIX并且希望使用JPEG,必须下载jpeg-6b库,然后重新编译GD库,使其包括对JPEG的支持。可以从以下站点下载该库:ftp://ftp.uu.net/graphics/jpeg/。

此外,还应该使用如下命令行选项重新配置和编译PHP:

--with-jpeg-dir=/path/to/jpeg-6b

如果希望在图像中使用TrueType字体,还需要FreeType库。这个函数库也是在从PHP 4版本开始捆绑的。当然,也可以从以下站点下载该库:http://www.freetype.org/。

如果希望使用PostScript Type 1字体,必须下载t1lib库,可以从如下站点下载该库:

ftp://sunsite.unc.edu/pub/Linux/libs/graphics/.

需要使用如下所示的命令行选项运行PHP的配置程序:

--with-t1lib[=path/to/t1lib]

最后使用--with--gd配置PHP。