PHP 图像处理GD库参考



  • PHP 图像处理GD库参考

    要激活 GD 支持,配置 PHP 时加上 --with-gd[=DIR] ,DIR 是 GD 的基本安装目录。要使用推荐的绑定的 GD 库版本(首次绑定于 PHP 4.3.0),使用 --with-gd 。要编译 GD 库,需要libpng 和 libjpeg。 在 Windows 中,需要将 GD2 的 DLL 文件 php_gd2.dll 作为一个扩展包含在 php.ini 中。GD1 的 DLL 文件 php_gd.dll 在 PHP 4.3.2 中被删除了。此外要注意首选的真彩色图像函数,例如 imagecreatetruecolor(),需要 GD2。
    要在 Windows 下启用 exif,在 php.ini 中 php_mbstring.dll 必须在 php_exif.dll 之前加载。
    要在 PHP 3 中禁止 GD 支持,在配置时加上 --without-gd 。 要增强 GD 的能力以处理更多的图像格式,在配置 PHP 时指定 --with-XXXX 的配置开关。
    支持的图像格式:
    • jpeg-6b 要激活 jpeg-6b 的支持,加上 --with-jpeg-dir=DIR .
    • png 要激活 png 的支持,加上 --with-png-dir=DIR 。注意,libpng 需要 zlib 库支持,因此配置中还要加上 --with-zlib-dir[=DIR]
    • xpm 要激活 xpm 的支持,加上 --with-xpm-dir=DIR 。如果配置时提示找不到所需要的库,可以加上到 X11 库的路径。
    注意: 当把 PHP 和 libpng 一起编译时,必须使用和 GD 库连接的同一个版本。
    要增强 GD 的能力以处理更多的字体,在配置 PHP 时指定 --with-XXXX 的配置开关。
    • FreeType 1.x 要激活 FreeType 1.x 的支持,加上 --with-ttf[=DIR]
    • FreeType 2 要激活 FreeType 2 的支持,加上 --with-freetype-dir=DIR
    • T1lib 要激活 T1lib(Type 1 字体),加上 --with-t1lib[=DIR]
    • 本地 TrueType 字符串函数 要激活本地 TrueType 字符串函数的支持,加上 --enable-gd-native-ttf
    函数名称 描述
    gd_info 取得当前安装的GD库的信息
    getimagesize 取得图像大小
    getimagesizefromstring 从字符串中获取图像尺寸信息
    image_type_to_extension 取得图像类型的文件后缀
    image_type_to_mime_type 获得getimagesize,exif_read_data,exif_t​​humbnail,exif_imagetype所返回的图像类型的MIME类型
    image2wbmp 以WBMP格式将图像输出到浏览器或文件
    imageaffine 返回通过仿射变换后的图像,剪切区域任选
    imageaffinematrixconcat 连接两个仿射变换矩阵
    imageaffinematrixget 获取仿射变换矩阵
    imagealphablending 设定图像的混色模式
    imageantialias 是否使用抗锯齿(antialias)功能
    imagearc 画椭圆弧
    imagebmp 将BMP图像输出到浏览器或文件
    imagechar 水平地画一个字符
    imagecharup 垂直地画一个字符
    imagecolorallocate 为一幅图像分配颜色
    imagecolorallocatealpha 为一幅图像分配颜色+ alpha
    imagecolorat 取得某事物的颜色索引值
    imagecolorclosest 取得与指定的颜色最接近的颜色的索引值
    imagecolorclosestalpha 取得与指定的颜色加最高最接近的颜色
    imagecolorclosesthwb 取得与给定颜色最接近的色度的黑白色的索引
    imagecolordeallocate 取消图像颜色的分配
    imagecolorexact 取得指定颜色的索引值
    imagecolorexactalpha 取得指定的颜色加较高的索引值
    imagecolormatch 使一个图像中分辨率版本的颜色与真彩色版本更能匹配
    imagecolorresolve 取得指定颜色的索引值或有可能得到的最接近的替代值
    imagecolorresolvealpha 取得指定颜色+ alpha的索引值或有可能得到的最接近的替代值
    imagecolorset 给指定索引索引设定颜色
    imagecolorsforindex 取得某索引的颜色
    imagecolorstotal 取得一幅图像的预设中颜色的数量
    imagecolortransparent 将某个颜色定义为透明色
    imageconvolution 用系数div和offset申请一个3x3的卷积矩阵
    imagecopy 拷贝图像的一部分
    imagecopymerge 拷贝并合并图像的一部分
    imagecopymergegray 用灰度拷贝并合并图像的一部分
    imagecopyresampled 重采样拷贝部分图像并调整大小
    imagecopyresized 副本部分图像并调整大小
    imagecreate 新建一个基于灰度的图像
    imagecreatefrombmp 由文件或URL创建一个新图像。
    imagecreatefromgd2 从GD2文件或URL新建一图像
    imagecreatefromgd2part 从给定的GD2文件或URL中的部分新建一图像
    imagecreatefromgd 从GD文件或URL新建一图像
    imagecreatefromgif 由文件或URL创建一个新图像。
    imagecreatefromjpeg 由文件或URL创建一个新图像。
    imagecreatefrompng 由文件或URL创建一个新图像。
    imagecreatefromstring 从字符串中的图像流新建一图像
    imagecreatefromwbmp 由文件或URL创建一个新图像。
    imagecreatefromwebp 由文件或URL创建一个新图像。
    imagecreatefromxbm 由文件或URL创建一个新图像。
    imagecreatefromxpm 由文件或URL创建一个新图像。
    imagecreatetruecolor 新建一个真彩色图像
    imagecrop 将图像裁剪为给定的矩形
    imagecropauto 使用可用模式之一自动裁剪图像
    imagedashedline 画一虚线
    imagedestroy 销毁一图像
    imageellipse 画一个椭圆
    imagefill 区域填充
    imagefilledarc 画一椭圆弧且填充
    imagefilledellipse 画一椭圆并填充
    imagefilledpolygon 画一概括并填充
    imagefilledrectangle 画一矩形并填充
    imagefilltoborder 区域填充到指定颜色的边界为止
    imagefilter 对图像使用过滤器
    imageflip 使用给定模式翻转图像
    imagefontheight 取得字体高度
    imagefontwidth 取得字体宽度
    imageftbbox 表示一个使用FreeType 2字体的文本框
    imagefttext 使用FreeType 2字体将文本写入图像
    imagegammacorrect 对GD图像应用gamma修正
    imagegd2 将GD2图像输出到浏览器或文件
    imagegd 将GD图像输出到浏览器或文件
    imagegetclip 获取裁剪矩形
    imagegif 输出图像到浏览器或文件。
    imagegrabscreen 捕捉整个屏幕
    imagegrabwindow 捕获一个窗口
    imageinterlace 激活或禁止隔行扫描
    imageistruecolor 检查图像是否为真彩色图像
    imagejpeg 输出图像到浏览器或文件。
    imagelayereffect 设置alpha混色标志以使用绑定的libgd分层效果
    imageline 画一条线段
    imageloadfont 加载一新字体
    imageopenpolygon 绘制一个开放的多边形
    imagepalettecopy 将图案从一幅图像拷贝到另一幅
    imagepalettetotruecolor 将基于调色板的图像转换为真彩色
    imagepng 以PNG格式将图像输出到浏览器或文件
    imagepolygon 画一个十年
    imagepsbbox 表示一个使用PostScript Type1字体的文本双重
    imagepsencodefont 改变字体中的字符编码矢量
    imagepsextendfont 扩充或精简字体
    imagepsfreefont 释放一个PostScript Type 1字体所占用的内存
    imagepsloadfont 从文件中加载一个PostScript Type 1字体
    imagepsslantfont 倾斜某字体
    imagepstext 用PostScript Type1字体把文本字符串画在图像上
    imagerectangle 画一个矩形
    imageresolution 获取或设置图像的分辨率
    imagerotate 用给定角度旋转图像
    imagesavealpha 设置标记以在保存PNG图像时保存完整的alpha通道信息(与单一透明色相反)
    imagescale 使用给定的新宽度和高度缩放图像
    imagesetbrush 设定画线用的画笔图像
    imagesetclip 设置裁剪矩形
    imagesetinterpolation 设置插值方法
    imagesetpixel 画一个单一的结论
    imagesetstyle 设定画线的风格
    imagesetthickness 设定画线的宽度
    imagesettile 设定为填充的贴图
    imagestring 水平地画一行字符串
    imagestringup 垂直地画一行字符串
    imagesx 取得图像宽度
    imagesy 取得图像高度
    imagetruecolortopalette 将真彩色图像转换为灰度图像
    imagettfbbox 取得使用TrueType字体的文本的范围
    imagettftext 用TrueType字体向图像写入文本
    imagetypes 返回当前PHP版本所支持的图像类型
    imagewbmp 以WBMP格式将图像输出到浏览器或文件
    imagewebp 将WebP格式的图像输出到浏览器或文件
    imagexbm 将XBM图像输出到浏览器或文件
    iptcembed 将二进制IPTC数据嵌入到一幅JPEG图像中
    iptcparse 将二进制IPTC块解析为单个标记
    jpeg2wbmp 将JPEG图像文件转换为WBMP图像文件
    png2wbmp 将PNG图像文件转换为WBMP图像文件
  • PHP 图像处理GD库常量参考

    常量 描述
    GD_VERSION (string) PHP 编译所依据的 GD 版本。 (PHP 5.2.4 可用)
    GD_MAJOR_VERSION (integer) PHP 编译所依据的 GD 大版本。 (PHP 5.2.4 可用)
    GD_MINOR_VERSION (integer) PHP 编译所依据的 GD 小版本。 (PHP 5.2.4 可用)
    GD_RELEASE_VERSION (integer) PHP 编译所依据的 GD 发布版本。 (PHP 5.2.4 可用)
    GD_EXTRA_VERSION (string) PHP 编译所依据的 GD 扩展版本(beta/rc..)。 (PHP 5.2.4 可用)
    GD_BUNDLED (integer) 当使用绑定版本的 GD 时,此值为 1, 反之为 0。
    IMG_BMP (integer) 用作imagetypes() 的返回值
    IMG_GIF (integer) 用作imagetypes() 的返回值
    IMG_JPG (integer) 用作imagetypes() 的返回值
    IMG_JPEG (integer) imagetypes() 用作返回值注意:本常量值同IMG_JPG
    IMG_PNG (integer) 用作imagetypes() 的返回值
    IMG_WBMP (integer) 用作imagetypes() 的返回值
    IMG_XPM (integer) 用作imagetypes() 的返回值
    IMG_WEBP (integer) 用作imagetypes() 的返回值PHP 5.6.25和PHP 7.0.10版本中都可用。
    IMG_COLOR_TILED (integer) 可以使用特殊的颜色选项来代替通过imagecolorallocate()imagecolorallocatealpha() 分配的颜色。
    IMG_COLOR_STYLED (integer) 可以使用特殊的颜色选项来代替通过imagecolorallocate()imagecolorallocatealpha() 分配的颜色。
    IMG_COLOR_BRUSHED (integer) 可以使用特殊的颜色选项来代替通过imagecolorallocate()imagecolorallocatealpha() 分配的颜色。
    IMG_COLOR_STYLEDBRUSHED (integer) 可以使用特殊的颜色选项来代替通过imagecolorallocate()imagecolorallocatealpha() 分配的颜色。
    IMG_COLOR_TRANSPARENT (integer) 可以使用特殊的颜色选项来代替通过imagecolorallocate()imagecolorallocatealpha() 分配的颜色。
    IMG_AFFINE_TRANSLATE (integer) imageaffinematrixget() 函数使用的仿射变换类型常量。
    IMG_AFFINE_SCALE (integer) imageaffinematrixget() 函数使用的仿射变换类型常量。
    IMG_AFFINE_ROTATE (integer) imageaffinematrixget() 函数使用的仿射变换类型常量。
    IMG_AFFINE_SHEAR_HORIZONTAL (integer) imageaffinematrixget() 函数使用的仿射变换类型常量。
    IMG_AFFINE_SHEAR_VERTICAL (integer) imageaffinematrixget() 函数使用的仿射变换类型常量。
    IMG_ARC_ROUNDED (integer) imagefilledarc() 函数使用的样式常量。注意:此常量值同IMG_ARC_PIE
    IMG_ARC_PIE (integer) imagefilledarc() 函数使用的样式常量。
    IMG_ARC_CHORD (integer) imagefilledarc() 函数使用的样式常量。
    IMG_ARC_NOFILL (integer) imagefilledarc() 函数使用的样式常量。
    IMG_ARC_EDGED (integer) imagefilledarc() 函数使用的样式常量。
    IMG_GD2_RAW (integer) imagegd2() 函数使用的类型常量。
    IMG_GD2_COMPRESSED (integer) imagegd2() 函数使用的类型常量。
    IMG_EFFECT_REPLACE (integer) imagelayereffect() 函数使用的Alpha混合效果。
    IMG_EFFECT_ALPHABLEND (integer) imagelayereffect() 函数使用的Alpha混合效果。
    IMG_EFFECT_NORMAL (integer) imagelayereffect() 函数使用的Alpha混合效果。
    IMG_EFFECT_OVERLAY (integer) imagelayereffect() 函数使用的Alpha混合效果。
    IMG_EFFECT_MULTIPLY (integer) imagelayereffect() 函数使用的Alpha混合效果。
    IMG_FILTER_NEGATE (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_GRAYSCALE (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_BRIGHTNESS (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_CONTRAST (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_COLORIZE (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_EDGEDETECT (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_GAUSSIAN_BLUR (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_SELECTIVE_BLUR (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_EMBOSS (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_MEAN_REMOVAL (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_SMOOTH (integer) imagefilter() 函数使用的特殊GD过滤器。
    IMG_FILTER_PIXELATE (integer) imagefilter() 函数使用的特殊GD过滤器。 (PHP 5.3.0可用)
    IMG_FILTER_SCATTER (integer) imagefilter() 函数使用的特殊GD过滤器。 (自PHP 7.4.0版本可用)
    IMAGETYPE_GIF (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_JPEG (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_JPEG2000 (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_PNG (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_SWF (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_PSD (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_BMP (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_WBMP (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_XBM (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_TIFF_II (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_TIFF_MM (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_IFF (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_JB2 (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_JPC (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_JP2 (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_JPX (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_SWC (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。
    IMAGETYPE_ICO (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。 (自PHP 5.3.0开始支持)
    IMAGETYPE_WEBP (integer) image_type_to_mime_type()image_type_to_extension() 函数使用的图像类型常量。 (从PHP 7.1.0开始支持)
    PNG_NO_FILTER (integer) 一个特殊的PNG过滤器,由imagepng() 函数使用。
    PNG_FILTER_NONE (integer) 一个特殊的PNG过滤器,由imagepng() 函数使用。
    PNG_FILTER_SUB (integer) 一个特殊的PNG过滤器,由imagepng() 函数使用。
    PNG_FILTER_UP (integer) 一个特殊的PNG过滤器,由imagepng() 函数使用。
    PNG_FILTER_AVG (integer) 一个特殊的PNG过滤器,由imagepng() 函数使用。
    PNG_FILTER_PAETH (integer) 一个特殊的PNG过滤器,由imagepng() 函数使用。
    PNG_ALL_FILTERS (integer) 一个特殊的PNG过滤器,由imagepng() 函数使用。
    IMG_FLIP_VERTICAL (int) imageflip() 一起使用,自PHP 5.5.0起可用。
    IMG_FLIP_HORIZONTAL (int) imageflip() 一起使用,自PHP 5.5.0起可用。
    IMG_FLIP_BOTH (int) imageflip() 一起使用,自PHP 5.5.0起可用。
    IMG_BELL (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_BESSEL (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_BILINEAR_FIXED (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_BICUBIC (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_BICUBIC (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_BLACKMAN (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_BOX (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_BSPLINE (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_CATMULLROM (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_GAUSSIAN (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_GENERALIZED_CUBIC (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_HERMITE (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_HAMMING (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_HANNING (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_MITCHELL (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_POWER (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_QUADRATIC (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_SINC (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_NEAREST_NEIGHBOUR (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_WEIGHTED4 (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。
    IMG_TRIANGLE (int) imagesetinterpolation() 一起使用,自PHP 5.5.0起可用。