当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

19.1PHP的图像处理库——GD库

9/17/2020 9:31:19 PM 人评论

19.1PHP的图像处理库——GD库

19.1 PHP的图像处理库——GD库

PHP可以创建及操作多种不同格式的图像文件,包括gif、png、jpg和bmp等。更方便的是,PHP可以直接将图像流输出到浏览器。通常情况下,使用PHP处理图像需要GD扩展库的支持,对于Linux/UNIX用户来说,需要在编译PHP时加上图像函数的GD库。GD和PHP还可能需要其他库,这取决于需要支持的图像格式。从PHP4.3起,PHP绑定了一个GD库的版本,目前是GD2。本书就使用GD2来介绍PHP图像处理函数。

19.1.1 在Linux下安装GD库

对Linux/UNIX用户来说,要激活GD支持,配置PHP时需要加上“--with-gd[=DIR]”,其中DIR是GD的安装目录。如果要使用推荐绑定的GD库版本,可以使用“--with-gd”。要编译GD库,需要libpng和libjpeg。

19.1.2 在Windows下安装GD库

对于Windows用户来说,只需在PHP的配置文件php.ini中把配置项“;extension=php_gd2.dll”前的分号去掉即可。当正确配置php.ini中有关GD的项后,通过phpinfo()可以看到GD库已正确加载,如图19-1所示。

图19-1 PHP中的GD库

从这个信息中可以看到PHP所支持处理的图片格式和处理功能,如GIF Read Support、GIF Create Support、JPEG Support及PNG Support等。

19.1.3 主要图像处理函数介绍

目前GD2库的图像处理函数有上百个,限于篇幅不能一一讲述,本节将向读者介绍一些有代表性的图像处理函数。

函数resource imagecreatefromgif(string$filename):用来从给定的GIF文件或URL取出一个图像,参数$filename是文件名或URL。该函数返回值是图像标识符,代表了从给定的文件名取得的图像。失败时,返回一空字符串,并且输出一条错误信息。

·函数bool imagegif(resource$image[,string$filename]):从参数$image所代表的图像以参数$filename为文件名创建一个GIF图像。image参数是imagecreate()或imagecreatefromgif等函数的返回值。

·函数resource imagecreatefrompng(string$filename):从PNG文件或URL取出一个图像,参数$filename是文件名或URL。该函数返回值是图像标识符,如果执行失败,函数返回一个空字串,并且输出一条错误信息。

·函数bool imagepng(resource$image[,string$filename]):类似imagegif(),将GD图像流(参数$image代表)以PNG格式输出到标准输出(通常为浏览器),或者如果用参数$filename给出了文件名,则将其输出到该文件。

·函数resource imagecreate(int$x_size,int$y_size):新建一个基于调色板的图像,参数$x_size和$y_size代表了创建图像的宽和高,该函数返回所创建图像的标识符。

·函数resource imagecreatetruecolor(int$x_size,int$y_size):返回一个图像标识符,它代表了一幅大小为$x_size和$y_size的黑色图像。

·函数int imagecolorallocate(resource$image,int$red,int$green,int$blue):参数$image是图片标识符,参数$red、$green、$blue分别代表色系中的红色、绿色和蓝色(RGB),这些参数的取值范围是0到255,或者十六进制的0x00到0xFF,例如代码imagecolorallocate($img,255,0,0)表示设置图像$img的颜色为红色。该函数的返回值代表了由给定的参数组成的颜色。

·函数bool imagefill(resource$image,int$x,int$y,int$color):在参数$image所指定图像的坐标$x和$y(图像左上角为0,0)处用$color颜色执行区域填充,即与x,y点颜色相同且相邻的点都会被填充。

·函数bool imageline(resource$image,int$x1,int$y1,int$x2,int$y2,int$color):参数$color所指定的颜色在参数$image所标识的图像中从坐标$x1,$y1到$x2,$y2(图像左上角为0,0)画一条线段。

·函数bool imagestring(resource$image,int$font,int$x,int$y,string$s,int$col):水平地显示一行字符串。该函数用参数$col所指定的颜色将字符串$s显示到参数$image所标识图像的$x,$y坐标处。

本章后续内容中还会涉及一些本小节没有介绍到的函数,这些函数将在后续内容的实例中使用到时,再做详细介绍。

相关教程

共有条评论 网友评论

验证码: 看不清楚?