在PHP中,通过GD库处理图像的操作,都是先在内存中处理,操作完成以后再以文件流的方式,输出到浏览器或保存在服务器的磁盘中。创建一个图像应该完成如下所示的4个基本步骤。
(1)创建画布:所有的绘图设计都需要在一个背景图片上完成,而画布实际上就是在内存中开辟的一块临时区域,用于存储图像的信息。以后的图像操作都将基于这个背景画布,该画布的管理就类似于我们在画画时使用的画布。
(2)绘制图像:画布创建完成以后,就可以通过这个画布资源,使用各种画像函数设置图像的颜色、填充画布、画点、线段、各种几何图形,以及向图像中添加文本等。
(3)输出图像:完成整个图像的绘制以后,需要将图像以某种格式保存到服务器指定的文件中,或将图像直接输出到浏览器上显示给用户。但在图像输出之前,一定要使用header()函数发送Content-type通知浏览器,这次发送的是图片不是文本。
(4)释放资源:图像被输出以后,画布中的内容也不再有用。出于节约系统资源的考虑,需要及时清除画布占用的所有内存资源。
GetImageSize
作用:取得图片的大小[即长与宽]
PHP GD库函用法:array GetImageSize(string filename, array [imageinfo]);
ImageArc
作用:画弧线
用法:int ImageArc(int im, int cx, int cy, int w, int h, int s, int e, int col);
ImageChar
作用:写出横向字符
PHP GD库函用法:int ImageChar(int im, int font, int x, int y, string c, int col);
ImageCharUp
作用:写出竖式字符
用法:int ImageCharup(int im, int font, int x, int y, string c, int col);
ImageColorAllocate
作用:匹配颜色
PHP GD库函用法:int ImageColorAllocate(int im, int red, int green, int blue);
ImageColorTransparent
作用:指定透明背景色
用法:int ImageColorTransparent(int im, int [col]);
ImageCopyResized
作用:复制新图并调整大小
PHP GD库函用法:int ImageCopyResized(int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH);
ImageCreate
作用:建立新图
用法:int ImageCreate(int x_size, int y_size);
ImageDashedLine
作用:绘虚线
用法:int ImageDashedLine(int im, int x1, int y1, int x2, int y2, int col);
ImageDestroy
PHP GD库函作用:结束图形
用法解释:int ImageDestroy(int im);
ImageFill
作用:图形着色
用法:int ImageFill(int im, int x, int y, int col);
ImageFilledPolygon
作用:多边形区域着色
PHP GD库函用法:int ImageFilledPolygon(int im, array points, int num_points, int col);
ImageFilledRectangle
作用:矩形区域着色
用法:int ImageFilledRectangle(int im, int x1, int y1, int x2, int y2, int col);
ImageFillToBorder
作用:指定颜色区域内着色
PHP GD库函用法:int ImageFillToBorder(int im, int x, int y, int border, int col);
ImageFontHeight
作用:取得字型的高度
用法:int ImageFontHeight(int font);
ImageFontWidth
作用:取得字型的宽度
用法:int ImageFontWidth(int font);
ImageInterlace
作用:使用交错式显示与否
PHP GD库函用法:int ImageInterlace(int im, int [interlace]);
ImageLine
作用:绘实线
用法:int ImageLine(int im, int x1, int y1, int x2, int y2, int col);
ImageLoadFont
作用:载入点阵字型
用法:int ImageLoadFont(string file);
ImagePolygon
作用:绘多边形
用法:int ImagePolygon(int im, array points, int num_points, int col);
ImageRectangle
作用:绘矩形
用法:int ImageRectangle(int im, int x1, int y1, int x2, int y2, int col);
ImageSetPixel
作用:绘点
PHP GD库函用法:int ImageSetPixel(int im, int x, int y, int col);
ImageString
作用:绘横式字符串
用法:int ImageString(int im, int font, int x, int y, string s, int col);
ImageStringUp
作用:绘直式字符串
用法:int ImageStringUp(int im, int font, int x, int y, string s, int col);
ImageSX
作用:取得图片的宽度
用法:int ImageSX(int im);
ImageSY
作用:取得图片的高度
PHP GD库函用法:int ImageSY(int im);
ImageTTFBBox
作用:计算 TTF 文字所占区域
用法:array ImageTTFBBox(int size, int angle, string fontfile, string text);
ImageTTFText
作用:写 TTF 文字到图中
用法:array ImageTTFText(int im, int size, int angle, int x, int y, int col, string fontfile, string text);
ImageColorAt
作用:取得图中指定点颜色的索引值
用法:int ImageColorAt(int im, int x, int y);
ImageColorClosest
作用:计算色表中与指定颜色最接近者
PHP GD库函用法:int ImageColorClosest(int im, int red, int green, int blue);
ImageColorExact
作用:计算色表上指定颜色索引值
用法:int ImageColorExact(int im, int red, int green, int blue);
ImageColorResolve
作用:计算色表上指定或最接近颜色的索引值
用法:int ImageColorResolve(int im, int red, int green, int blue);
ImageColorSet
作用:设定色表上指定索引的颜色
用法:boolean ImageColorSet(int im, int index, int red, int green, int blue);
ImageColorsForIndex
作用:取得色表上指定索引的颜色
PHP GD库函用法:array ImageColorsForIndex(int im, int index);
ImageColorsTotal
作用:计算图的颜色数
用法:int ImageColorsTotal(int im);
ImagePSLoadFont
作用:载入 PostScript 字型
用法:int ImagePSLoadFont(string filename);
ImagePSFreeFont
作用:卸下 PostScript 字型
用法:void ImagePSFreeFont(int fontindex);
ImagePSEncodeFont
作用:PostScript 字型转成向量字
PHP GD库函用法:int ImagePSEncodeFont(string encodingfile);
ImagePSText
作用:写 PostScript 文字到图中
用法:array ImagePSText(int image, string text, int font, int size, int foreground, int background, int x, int y, int space, int tightness, float angle, int antialias_steps);
ImagePSBBox
作用:计算 PostScript 文字所占区域
PHP GD库函用法: array ImagePSBBox(string text, int font, int size, int space, int width, float angle);
ImageCreateFromPNG
作用:取出 PNG 图型
用法:int ImageCreateFromPng(string filename);
ImagePNG
作用:建立 PNG 图型
用法:int ImagePng(int im, string [filename]);
ImageCreateFromGIF
作用:取出 GIF 图型
用法:int ImageCreateFromGif(string filename);
ImageGIF
作用:建立 GIF 图型
PHP GD库函用法:int ImageGif(int im, string [filename]);