php gd等比例缩放压缩图片函数
本文实例为大家分享了phpgd等比例缩放压缩图片函数,供大家参考,具体内容如下
<?php /** *desription判断是否gif动画 *@paramsting$image_file图片路径 *@returnbooleant是f否 */ functioncheck_gifcartoon($image_file){ $fp=fopen($image_file,'rb'); $image_head=fread($fp,1024); fclose($fp); returnpreg_match("/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."/",$image_head)?false:true; } /** *desription压缩图片 *@paramsting$imgsrc图片路径 *@paramstring$imgdst压缩后保存路径 */ functioncompressed_image($imgsrc,$imgdst){ list($width,$height,$type)=getimagesize($imgsrc); $new_width=($width>600?600:$width)*0.9; $new_height=($height>600?600:$height)*0.9; switch($type){ case1: $giftype=check_gifcartoon($imgsrc); if($giftype){ header('Content-Type:image/gif'); $image_wp=imagecreatetruecolor($new_width,$new_height); $image=imagecreatefromgif($imgsrc); imagecopyresampled($image_wp,$image,0,0,0,0,$new_width,$new_height,$width,$height); //75代表的是质量、压缩图片容量大小 imagejpeg($image_wp,$imgdst,75); imagedestroy($image_wp); } break; case2: header('Content-Type:image/jpeg'); $image_wp=imagecreatetruecolor($new_width,$new_height); $image=imagecreatefromjpeg($imgsrc); imagecopyresampled($image_wp,$image,0,0,0,0,$new_width,$new_height,$width,$height); //75代表的是质量、压缩图片容量大小 imagejpeg($image_wp,$imgdst,75); imagedestroy($image_wp); break; case3: header('Content-Type:image/png'); $image_wp=imagecreatetruecolor($new_width,$new_height); $image=imagecreatefrompng($imgsrc); imagecopyresampled($image_wp,$image,0,0,0,0,$new_width,$new_height,$width,$height); //75代表的是质量、压缩图片容量大小 imagejpeg($image_wp,$imgdst,75); imagedestroy($image_wp); break; } }
phpandgd函数参考表
gd_info 取得当前安装的GD库的信息
getimagesize 取得图像大小
getimagesizefromstring Getthesizeofanimagefromastring
image_type_to_extension 取得图像类型的文件后缀
image_type_to_mime_type 取得getimagesize,exif_read_data,exif_thumbnail,exif_imagetype所返回的图像类型的MIME类型
image2wbmp 以WBMP格式将图像输出到浏览器或文件
imageaffine Returnanimagecontainingtheaffinetramsformedsrcimage,usinganoptionalclippingarea
imageaffinematrixconcat Concattwomatrices(asindoingmanyopsinonego)
imageaffinematrixget Returnanimagecontainingtheaffinetramsformedsrcimage,usinganoptionalclippingarea
imagealphablending 设定图像的混色模式
imageantialias 是否使用抗锯齿(antialias)功能
imagearc 画椭圆弧
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 新建一个基于调色板的图像
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 Cropanimageusingthegivencoordinatesandsize,x,y,widthandheight
imagecropauto Cropanimageautomaticallyusingoneoftheavailablemodes
imagedashedline 画一虚线
imagedestroy 销毁一图像
imageellipse 画一个椭圆
imagefill 区域填充
imagefilledarc 画一椭圆弧且填充
imagefilledellipse 画一椭圆并填充
imagefilledpolygon 画一多边形并填充
imagefilledrectangle 画一矩形并填充
imagefilltoborder 区域填充到指定颜色的边界为止
imagefilter 对图像使用过滤器
imageflip Flipsanimageusingagivenmode
imagefontheight 取得字体高度
imagefontwidth 取得字体宽度
imageftbbox 给出一个使用FreeType2字体的文本框
imagefttext 使用FreeType2字体将文本写入图像
imagegammacorrect 对GD图像应用gamma修正
imagegd2 将GD2图像输出到浏览器或文件
imagegd 将GD图像输出到浏览器或文件
imagegif 输出图象到浏览器或文件。
imagegrabscreen Capturesthewholescreen
imagegrabwindow Capturesawindow
imageinterlace 激活或禁止隔行扫描
imageistruecolor 检查图像是否为真彩色图像
imagejpeg 输出图象到浏览器或文件。
imagelayereffect 设定alpha混色标志以使用绑定的libgd分层效果
imageline 画一条线段
imageloadfont 载入一新字体
imagepalettecopy 将调色板从一幅图像拷贝到另一幅
imagepalettetotruecolor Convertsapalettebasedimagetotruecolor
imagepng 以PNG格式将图像输出到浏览器或文件
imagepolygon 画一个多边形
imagepsbbox 给出一个使用PostScriptType1字体的文本方框
imagepsencodefont 改变字体中的字符编码矢量
imagepsextendfont 扩充或精简字体
imagepsfreefont 释放一个PostScriptType1字体所占用的内存
imagepsloadfont 从文件中加载一个PostScriptType1字体
imagepsslantfont 倾斜某字体
imagepstext 用PostScriptType1字体把文本字符串画在图像上
imagerectangle 画一个矩形
imagerotate 用给定角度旋转图像
imagesavealpha 设置标记以在保存PNG图像时保存完整的alpha通道信息(与单一透明色相反)
imagescale Scaleanimageusingthegivennewwidthandheight
imagesetbrush 设定画线用的画笔图像
imagesetinterpolation Settheinterpolationmethod
imagesetpixel 画一个单一像素
imagesetstyle 设定画线的风格
imagesetthickness 设定画线的宽度
imagesettile 设定用于填充的贴图
imagestring 水平地画一行字符串
imagestringup 垂直地画一行字符串
imagesx 取得图像宽度
imagesy 取得图像高度
imagetruecolortopalette 将真彩色图像转换为调色板图像
imagettfbbox 取得使用TrueType字体的文本的范围
imagettftext 用TrueType字体向图像写入文本
imagetypes 返回当前PHP版本所支持的图像类型
imagewbmp 以WBMP格式将图像输出到浏览器或文件
imagewebp OutputanWebPimagetobrowserorfile
imagexbm 将XBM图像输出到浏览器或文件
iptcembed 将二进制IPTC数据嵌入到一幅JPEG图像中
iptcparse 将二进制IPTC块解析为单个标记
jpeg2wbmp 将JPEG图像文件转换为WBMP图像文件
png2wbmp 将PNG图像文件转换为WBMP图像文件
以上就是本文的全部内容,希望对大家学习PHP程序设计有所帮助。