PHP图像处理函数有哪些
2016-11-15 · 学高端技术就来八维教育
php图片处理代码分享,包括缩放、剪裁、缩放、翻转、旋转、透明、锐化等。需要的朋友可以参考下
一、创建图片资源
imagecreatetruecolor(width,height);
imagecreatefromgif(图片名称);
imagecreatefrompng(图片名称);
imagecreatefromjpeg(图片名称);画出各种图像
imagegif(图片资源,保存路径);
imagepng()
imagejpeg();
二、获取图片属性
imagesx(res//宽度
imagesy(res//高度
getimagesize(文件路径)
返回一个具有四个单元的数组。索引
0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 =
PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10
= JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3.0 新加的
IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG
标记。
销毁图像资源
imagedestroy(图片资源);
三、透明处理
PNG、jpeg透明色都正常,只有gif不正常
imagecolortransparent(resource
image [,int
color])//将某个颜色设置成透明色
imagecolorstotal()
imagecolorforindex();
四、图片的裁剪
imagecopyresized()
imagecopyresampled();
五、加水印(文字、图片)
字符串编码转换string iconv ( string $in_charset ,
string $out_charset , string $str )
六、图片旋转
imagerotate();//制定角度的图片翻转
七、图片的翻转
沿X轴 沿Y轴翻转
八、锐化
imagecolorsforindex()
imagecolorat()
我在网上找了半天,发现这些都无法实现对它的认识,于是我偶然间找到了相关的资料方面的书;
那就是PHP 手册,表在网上找这些没用的东西了,全是些皮毛介绍,误人子弟;
请点击这里:网页链接下载相关的手册,或者在网上查找PHP相关的中文版的手册;
又全面又仔细,不需要在网上乱查了,根本就是浪费时间,误入歧途.
例子 1. 用 PHP 创建 PNG 图像
<?php header("Content-type: image/png");
$string = $_GET['text'];
$im = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im,
220, 210, 60);
$px = (imagesx($im) - 7.5
* strlen($string)) /
2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);
?>
本例应该在一个具有类似:<img
src="button.php?text=text"> 标签的页面中被调用。上述的 button.php 脚本会取得 "text"
字符串将其覆盖在原图上(本例中的
"images/button1.png")并输出作为结果的图像。用此方法可以很方便地修改按钮上的文字从而避免了每次都要新画一个按钮的图像。用此方法就可以动态生成了。
目录
exif_imagetype -- 判断一个图像的类型
exif_read_data -- 从 JPEG 或 TIFF 文件中读取 EXIF 头信息,这样就可以读取数码相机产生的元数据
exif_thumbnail -- 取得嵌入在 TIFF 或
JPEG 图像中的缩略图gd_info -- 取得当前安装的 GD 库的信息
getimagesize -- 取得图像大小
image_type_to_mime_type -- 取得
getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型image2wbmp -- 以 WBMP 格式将图像输出到浏览器或文件
imagealphablending -- 设定图像的混色模式
imageantialias -- 是否使用 antialias
功能imagearc -- 画椭圆弧
imagechar -- 水平地画一个字符
imagecharup -- 垂直地画一个字符
imagecolorallocate -- 为一幅图像分配颜色
imagecolorallocatealpha -- 为一幅图像分配颜色
+ alphaimagecolorat -- 取得某像素的颜色索引值
imagecolorclosest -- 取得与指定的颜色最接近的颜色的索引值
imagecolorclosestalpha -- 取得与指定的颜色
+ alpha 最接近的颜色imagecolorclosesthwb --
取得与给定颜色最接近的色度的黑白色的索引imagecolordeallocate -- 取消图像颜色的分配
imagecolorexact -- 取得指定颜色的索引值
imagecolorexactalpha -- 取得指定的颜色 +
alpha 的索引值imagecolormatch --
使一个图像中调色板版本的颜色与真彩色版本更能匹配imagecolorresolve --
取得指定颜色的索引值或有可能得到的最接近的替代值imagecolorresolvealpha --
取得指定颜色 + alpha 的索引值或有可能得到的最接近的替代值imagecolorset -- 给指定调色板索引设定颜色
imagecolorsforindex -- 取得某索引的颜色
imagecolorstotal -- 取得一幅图像的调色板中颜色的数目
imagecolortransparent -- 将某个颜色定义为透明色
imagecopy -- 拷贝图像的一部分
imagecopymerge -- 拷贝并合并图像的一部分
imagecopymergegray -- 用灰度拷贝并合并图像的一部分
imagecopyresampled -- 重采样拷贝部分图像并调整大小
imagecopyresized -- 拷贝部分图像并调整大小
imagecreate -- 新建一个基于调色板的图像
imagecreatefromgd2 -- 从 GD2
文件或 URL 新建一图像imagecreatefromgd2part -- 从给定的
GD2 文件或 URL 中的部分新建一图像imagecreatefromgd -- 从 GD 文件或
URL 新建一图像imagecreatefromgif -- 从 GIF
文件或 URL 新建一图像imagecreatefromjpeg -- 从
JPEG 文件或 URL 新建一图像imagecreatefrompng -- 从 PNG
文件或 URL 新建一图像imagecreatefromstring -- 从字符串中的图像流新建一图像
imagecreatefromwbmp -- 从
WBMP 文件或 URL 新建一图像imagecreatefromxbm -- 从 XBM
文件或 URL 新建一图像imagecreatefromxpm -- 从 XPM
文件或 URL 新建一图像imagecreatetruecolor -- 新建一个真彩色图像
imagedashedline -- 画一虚线
imagedestroy -- 销毁一图像
imageellipse -- 画一个椭圆
imagefill -- 区域填充
imagefilledarc -- 画一椭圆弧且填充
imagefilledellipse -- 画一椭圆并填充
imagefilledpolygon -- 画一多边形并填充
imagefilledrectangle -- 画一矩形并填充
imagefilltoborder -- 区域填充到指定颜色的边界为止
imagefontheight -- 取得字体高度
imagefontwidth -- 取得字体宽度
imageftbbox -- 取得使用了 FreeType 2
字体的文本的范围imagefttext -- 使用 FreeType 2
字体将文本写入图像imagegammacorrect -- 对 GD 图像应用
gamma 修正imagegd2 -- 输出 GD2 图像
imagegd -- 将 GD 图像输出到浏览器或文件
imagegif -- 以 GIF 格式将图像输出到浏览器或文件
imageinterlace -- 激活或禁止隔行扫描
imageistruecolor -- 检查图像是否为真彩色图像
imagejpeg -- 以 JPEG 格式将图像输出到浏览器或文件
imagelayereffect -- Set the
alpha blending flag to use the bundled libgd layering effectsimageline -- 画一条直线
imageloadfont -- 载入一新字体
imagepalettecopy -- 将调色板从一幅图像拷贝到另一幅
imagepng -- 以 PNG 格式将图像输出到浏览器或文件
imagepolygon -- 画一个多边形
imagepsbbox -- 取得使用 PostScript Type1
字体的文本的范围imagepscopyfont --
拷贝一个已加载的字体以备更改imagepsencodefont -- 改变字体中的字符编码矢量
imagepsextendfont -- 扩充或压缩字体
imagepsfreefont -- 释放一个
PostScript Type 1 字体所占用的内存imagepsloadfont -- 从文件中加载一个
PostScript Type 1 字体imagepsslantfont -- 倾斜某字体
imagepstext -- 用 PostScript Type1
字体把文本字符串画在图像上imagerectangle -- 画一个矩形
imagerotate -- 用给定角度旋转图像
imagesavealpha -- 设置标记以在保存 PNG
图像时保存完整的 alpha 通道信息(与单一透明色相反)imagesetbrush -- 设定画线用的画笔图像
imagesetpixel -- 画一个单一像素
imagesetstyle -- 设定画线的风格
imagesetthickness -- 设定画线的宽度
imagesettile -- 设定用于填充的贴图
imagestring -- 水平地画一行字符串
imagestringup -- 垂直地画一行字符串
imagesx -- 取得图像宽度
imagesy -- 取得图像高度
imagetruecolortopalette -- 将真彩色图像转换为调色板图像
imagettfbbox -- 取得使用 TrueType
字体的文本的范围imagettftext -- 用 TrueType
字体向图像写入文本imagetypes -- 返回当前 PHP 版本所支持的图像类型
imagewbmp -- 以 WBMP 格式将图像输出到浏览器或文件
iptcembed -- 将二进制 IPTC 数据嵌入到一幅 JPEG
图像中iptcparse -- 将二进制 IPTC http://www.iptc.org/ 块解析为单个标记
jpeg2wbmp -- 将 JPEG 图像文件转换为 WBMP 图像文件
png2wbmp -- 将 PNG 图像文件转换为 WBMP 图像文件
read_exif_data -- exif_read_data() 的别名