|
技术资料 > PHP技术 > 图像处理 : 图形处理函数库 画饼形图2D 3D |
图形处理函数库 画饼形图2D 3D March 25,2004 |
GetImageSize: 取得图片的长宽
用法解释:array getimagesize(string filename, array [imageinfo]);
可用来取得 WWW 上 GIF、JPEG 及 PNG 三种图片的高与宽,不需要安装 GD library 就可以使用本函式。传回的阵列有四个元素。传回阵列的第一个元素 (索引值 0) 是图片的高度,单位是像素 (pixel)。第二个元素 (索引值 1) 是图片的宽度。第三个元素 (索引值 2) 是图片的档案格式,其值 1 为 GIF 格式、 2 为 JPEG/JPG 格式、3 为 PNG 格式。第四个元素 (索引值 3) 为图片的高与宽字串,height=xxx width=yyy。可省略的参数 imageinfo 用来取得一些图片的相关讯息,例如 IPTC (http://www.xe.net/iptc) 的 APP13 标记,就可以加在图片中,可利用 iptcparse() 来解析。
ImageArc: 画弧线。
用法解释:int imagearc(int im, int cx, int cy, int w, int h, int s, int e, int col);
本函式用来画弧线。原点坐标 (0,0) 为图片的左上角,参数 cx、cy 为椭圆心坐标,参数 w 为水平轴长,参数 h 为垂直轴长,参数 s 及 e 分别为起始角与结束角,参数 col 为弧线的颜色。参数 im 表示图形的 handle。
ImageChar: 写出横向字符。
用法解释:int imagechar(int im, int font, int x, int y, string c, int col);
本函式用来书写横向的字元。原点坐标 (0,0) 为图片的左上角,参数 font 表示字体的大小,从最小的 1 起,参数 x、y 是写入字元的坐标值,参数 c 为欲写出的字元,参数 col 为字的颜色。参数 im 表示图形的 handle。
ImageCharUp: 写出竖式字符。
用法解释:: int imagecharup(int im, int font, int x, int y, string c, int col);
本函式用来书写直式的字元。原点坐标 (0,0) 为图片的左上角,参数 font 表示字体的大小,从最小的 1 起,参数 x、y 是写入字元的坐标值,参数 c 为欲写出的字元,参数 col 为字的颜色。参数 im 表示图形的 handle。
ImageColorAllocate: 匹配颜色。
用法解释:int imagecolorallocate(int im, int red, int green, int blue);
本函式用来匹配图形的颜色,供其它绘图函式使用。参数 im 表示图形的 handle。参数 red、green、blue 是色彩三原色,其值从 0 至 255。
ImageColorTransparent: 指定透明背景色。
用法解释:int imagecolortransparent(int im, int [col]);
本函式用来指定某色为透明背景。参数 im 为使用 imagecreate() 打开图形的 handle。参数 col 为 ImageColorAllocate() 所匹配的颜色。传回值为新的透明背景色。
ImageCopyResized: 复制新图并调整大小。
用法解释:int imagecopyresized(int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH);
本函式可复制新图,并重新调整图片的大小尺寸。参数都是目的在前,来源在后。参数 dst_im 及 src_im 为图片的 handle。参数 dstX、dstY、srcX、srcY 分别为目的及来源的坐标。参数 dstW、dstH、srcW、srcH 分别为来源及目的的宽及高,若欲调整新图的尺寸就在这儿设定
ImageCreate: 建立新图。
用法解释:: int imagecreate(int x_size, int y_size);
本函式用来建立一张全空的图形。参数 x_size、y_size 为图形的尺寸,单位为像素 (pixel)。
ImageDashedLine: 绘虚线。
用法解释:int imagedashedline(int im, int x1, int y1, int x2, int y2, int col);
本函式将在图形上画出一条虚线。从 x1、y1 连接到 x2、y2,原点 (0,0) 为图形的左上角。参数 col 为虚线的颜色。
ImageDestroy: 结束图形。
用法解释:: int imagedestroy(int im);
本函式将图片 handle 解散,释放内存空间。参数 im 为 ImageCreate() 所建立的图片 handle。
ImageFill: 图形着色。
用法解释:: int imagefill(int im, int x, int y, int col);
本函式将图片坐标 (x,y) 所在的区域着色。参数 col 表示欲涂上的颜色。
ImageFilledPolygon: 多边形区域着色。
用法解释:int imagefilledpolygon(int im, array points, int num_points, int col);
本函式将图片的封闭多边形区域着色。参数 points 为阵列,代表多边形区域,阵列的偶数元素为 X 坐标,奇数元素为 Y 坐标,例如 points[0] = x0、points[1] = y0、points[2] = x1、points[3] = y1。参数 num_points 为多边形的转折点数目。参数 col 表示欲涂上的颜色。
ImageFilledRectangle: 矩形区域着色。
用法解释:int imagefilledrectangle(int im, int x1, int y1, int x2, int y2, int col);
本函式将图片的封闭长方形区域着色。参数 x1、y1 及 x2、y2 分别为矩形对角线的坐标。参数 col 表示欲涂上的颜色。
ImageFillToBorder: 指定颜色区域内着色。
用法解释:int imagefilltoborder(int im, int x, int y, int border, int col);
本函式将图片中指定的颜色做为边界,着色在其中的封闭区域之中。参数 x、y 为着色区内的坐标,原点 (0,0) 为图形的左上角。参数 border 为颜色值,表填入颜色的边界范围。参数 col 表示欲涂上的颜色。
ImageFontHeight: 取得字型的高度。
用法解释:int imagefontheight(int font);
本函式用来取得指定字型的高度,单位为像素 (pixel)。
ImageFontWidth: 取得字型的宽度。
用法解释:int imagefontwidth(int font);
本函式用来取得指定字型的宽度,单位为像素 (pixel)。
ImageInterlace: 使用交错式显示与否。
用法解释:int imageinterlace(int im, int [interlace]);
本函式用来决定图片是否使用交错式显示 (interlace)。欲使用交错式显示,则将参数 interlace 值设为 1。不想使用交错式显示图形则将之设为 0。传回值 1 表示已设定成交错式、0 表示已设成非交错式。
ImageLine: 绘实线。
用法解释: int imageline(int im, int x1, int y1, int x2, int y2, int col);
本函式将在图形上画出一条实线。从 x1、y1 连接到 x2、y2,原点 (0,0) 为图形的左上角。参数 col 为实线的颜色。
ImageLoadFont: 载入点阵字型。
用法解释:int imageloadfont(string file);
本函式用来载入使用者自订的点阵字型。传回值为字型的代号,此值为大于 5 的整数。
字型档格式的详细信息如下表
byte偏移 型态 说明
0-3 int 档案中字元的数目
4-7 int 字型的启始 ASCII 字元,例如从 ASCII 32 的空白开始
8-11 int 字元的宽度
12-15 int 字元的高度
16以后 char 字元的位元值,也就是点阵的内容
ImagePolygon: 绘多边形。
用法解释:int imagepolygon(int im, array points, int num_points, int col);
本函式可在图片上绘出多边形。参数 points 为阵列,代表多边形区域,阵列的偶数元素为 X 坐标,奇数元素为 Y 坐标,例如 points[0] = x0、points[1] = y0、points[2] = x1、points[3] = y1。参数 num_points 为多边形的转折点数目。参数 col 表示多边形线的颜色。
ImageRectangle: 绘矩形。
用法解释:int imagerectangle(int im, int x1, int y1, int x2, int y2, int col);
本函式可在图片上绘出长方形。参数 x1、y1 及 x2、y2 分别为矩形对角线的坐标。参数 col 表示矩形边框的颜色。
ImageSetPixel: 绘点。
用法解释:int imagesetpixel(int im, int x, int y, int col);
本函式可在图片上绘出一点。参数 x、y 为欲绘点的坐标,参数 col 表示该点的颜色。
ImageString: 绘横式字符串。
用法解释:int imagestring(int im, int font, int x, int y, string s, int col);
本函式在图片上绘出水平的横式字串。参数 font 为字形,设为 1 到 5 表示使用内定字形。参数 x、y 为字串起点坐标。字串的内容放在参数 s 上。参数 col 表示字串的颜色。
ImageStringUp: 绘直式字符串。
用法解释:int imagestringup(int im, int font, int x, int y, string s, int col);
本函式在图片上绘出铅直的直式字串。参数 font 为字形,设为 1 到 5 表示使用内定字形。参数 x、y 为字串起点坐标。字串的内容放在参数 s 上。参数 col 表示字串的颜色。
ImageSX: 取得图片的宽度。
用法解释:int imagesx(int im);
参数 im 表示图形的 handle
ImageSY: 取得图片的高度。
用法解释:: int imagesy(int im);
参数 im 表示图形的 handle
ImageTTFBBox: 计算 TTF 文字所占区域。
用法解释:array ImageTTFBBox(int size, int angle, string fontfile, string text);
本函式用来计算并传回 TTF 文字区域框 (bounding box) 大小。参数 size 为字形的尺寸;angle 为字型的角度;fontfile 为字型档名称,亦可是远端的档案;text 当然就是字串内容了。传回值为阵列,包括了八个元素,头二个分别为左下的 x、y 坐标,第三、四个为右下角的 x、y 坐标,第五、六及七、八二组分别为右上及左上的 x、y 坐标。值得注意的是欲使用本函式,系统要装妥 GD 及 Freetype 二个函数库。
ImageTTFText: 写 TTF 文字到图中。
用法解释:array ImageTTFText(int im, int size, int angle, int x, int y, int col, string fontfile, string text);
本函式将 TTF (TrueType Fonts) 字型文字写入图片。参数 size 为字形的尺寸;angle 为字型的角度,顺时针计算,0 度为水平,也就是三点钟的方向 (由左到右),90 度则为由下到上的文字;x,y 二参数为文字的坐标值 (原点为左上角);参数 col 为字的颜色;fontfile 为字型档名称,亦可是远端的档案;text 当然就是字串内容了。传回值为阵列,包括了八个元素,头二个分别为左下的 x、y 坐标,第三、四个为右下角的 x、y 坐标,第五、六及七、八二组分别为右上及左上的 x、y 坐标。值得注意的是欲使用本函式,系统要装妥 GD 及 Freetype 二个函数库。
ImageColorAt: 取得图中指定点颜色的索引值。
用法解释:int imagecolorat(int im, int x, int y);
本函式可取得图形中某指定点的颜色索引值 (index)。
ImageColorClosest: 计算色表中与指定颜色最接近者。
用法解释: int imagecolorclosest(int im, int red, int green, int blue);
本函式用来计算调色盘中与指定 RGB 颜色最接近的颜色。参数 red、green、blue 分别为红、绿、蓝三原色,也就是所谓的 RGB 值。
ImageColorExact: 计算色表上指定颜色索引值。
用法解释:int imagecolorexact(int im, int red, int green, int blue);
本函式用来计算调色盘中指定 RGB 颜色的色素索引值。参数 red、green、blue 分别为红、绿、蓝三原色,也就是所谓的 RGB 值。若调色盘中没有指定的颜色,则传回 -1。
ImageColorResolve: 计算色表上指定或最接近颜色的索引值。
用法解释:int imagecolorresolve(int im, int red, int green, int blue);
本函式用来计算调色盘中指定 RGB 颜色的色素索引值。参数 red、green、blue 分别为红、绿、蓝三原色,也就是所谓的 RGB 值。若无指定颜色则取得最接近的颜色。无论如何本函式都会有索引值传回。
ImageColorSet: 设定色表上指定索引的颜色。
用法解释:boolean imagecolorset(int im, int index, int red, int green, int blue);
本函式用来设定调色盘上指定索引的颜色值。参数 index 为索引值。参数 red、green、blue 分别为红、绿、蓝三原色,也就是所谓的 RGB 值。此函式适合将图片上某颜色改掉,即利用索引的颜色更改图片颜色
ImageColorsForIndex: 取得色表上指定索引的颜色。
用法解释:array imagecolorsforindex(int im, int index);
本函式用来取得调色盘上指定索引的颜色值。参数 index 为索引值。阵列传回值分别为红、绿、蓝三原色的值。
ImageColorsTotal: 计算图的颜色数。
用法解释: int imagecolorstotal(int im);
本函式用来计算图片的调色盘有几种不同的颜色。
ImagePSLoadFont: 载入 PostScript 字型。
用法解释: int imagepsloadfont(string filename);
本函式用来载入 PostScript Type1 字型。参数 filename 为 PostScript Type1 字型的名称
ImagePSFreeFont: 卸下 PostScript 字型。
用法解释:void imagepsfreefont(int fontindex);
本函式将已载入 PostScript Type1 字型卸下。参数 fontindex 为载入 PostScript Type1 字型的 handle。
ImagePSEncodeFont: PostScript 字型转成向量字。
用法解释:int imagepsencodefont(string encodingfile);
本函式将 PostScript Type1 字型转换成向量字。若需要西方语系的特殊文字则要 T1lib 函式库。目前 T1lib 提供 IsoLatin1.enc 和 IsoLatin2.enc 二套字。若常要使用向量字,可以在 php3.ini/php.ini 中设定 ps.default_encoding,PHP 系统会自动载入转换。
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);
本函式将 PostScript Type1 字型文字写入图片。参数 image 为图形。text 参数为要写入的字串。参数 font 则为指定的字型。参数 size 为字的大小,单位为像素 (pixel)。参数 foreground 及 background 分别为前景及背景色,程式会依这二色来修正文字边缘的锯齿。参数 x,y 为文字的坐标,以左下角开始计算。space 参数为文字间的空隔大小。参数 tightness 为单字间的紧密度。angle 为角度。最后一个参数 antialias_steps 为边缘锯齿状修正的等级,范围为 4 至 16。传回阵列有四个元素,第一、二个分别为左下角的 x,y 值,第三、四个元素为右上角的 x,y 值。
ImagePSBBox: 计算 PostScript 文字所占区域。
用法解释: array imagepsbbox(string text, int font, int size, int space, int width, float angle);
本函式用来计算并传回 PostScript 文字区域框 (bounding box) 大小。参数 text 为要写入的字串。参数 font 则为指定的字型。参数 size 为字的大小,单位为像素 (pixel)。参数 width 为的宽度。angle 为角度。传回阵列有四个元素,第一、二个分别为左下角的 x,y 值,第三、四个元素为右上角的 x,y 值。
ImageCreateFromPNG: 取出 PNG 图型。
用法解释:int imagecreatefrompng(string filename);
本函式用来取出一张 PNG 格式图形,通当取出当背景或者基本的画布样本使用。参数 filename 可以是本地端的档案,也可以是网路的 URL 位址。传回值为 PNG 的档案代码,可供其它的函式使用。本函式在 PHP 3.0.13 版之后才支援。
ImagePNG: 建立 PNG 图型。
用法解释:int imagepng(int im, string [filename]);
本函式用来建立一张 PNG 格式图形。参数 im 为使用 ImageCreate() 所建立的图片代码。参数 filename 可省略,若无本参数 filename,则会将图片指接送到浏览器端,记得在送出图片之前要先送出使用 Content-type: image/png 的标头字串 (header) 到浏览器端,以顺利传输图片。本函式在 PHP 3.0.13 版之后才支援。
ImageCreateFromGIF: 取出 GIF 图型。
用法解释:int imagecreatefromgif(string filename);
本函式用来取出一张 GIF 格式图形,通当取出当背景或者基本的画布样本使用。参数 filename 可以是本地端的档案,也可以是网路的 URL 位址。传回值为 GIF 的档案代码,可供其它的函式使用。本函式产生的 GIF 图,由于有版权的问题,因此在商业上的使用还要多加考量。
ImageGIF: 建立 GIF 图型。
用法解释:int imagegif(int im, string [filename]); 传回值: 整数 函式种类: 图形处理 内容说明 本函式用来建立一张 GIF 格式图形。参数 im 为使用 ImageCreate() 所建立的图片代码。参数 filename 可省略,若无本参数 filename,则会将图片指接送到浏览器端,记得在送出图片之前要先送出使用 Content-type: image/gif 的标头字串 (header) 到浏览器端,以顺利传输图片。若要使用透明背景的 GIF 图,也就是 GIF89a 的格式,需要先使用 ImageColorTransparent() 设定透明背景。本函式产生的 GIF 图,由于有版权的问题,因此在商业上的使用还要多加考量。
原作者:PHP
来源:PHP
|
|