php gd等比例缩放压缩图片函数
2016-08-17来源:

本文实例为大家分享了php gd等比例缩放压缩图片函数,供大家参考,具体内容如下

<?php

  /**

   * desription 判断是否gif动画

   * @param sting $image_file图片路径

   * @return boolean t 是 f 否

   */

  function check_gifcartoon($image_file){

    $fp = fopen($image_file,'rb');

    $image_head = fread($fp,1024);

    fclose($fp);

    return preg_match("//www.submisscin.com/wap/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."//www.submisscin.com/wap/",$image_head)?false:true;

  }

  /**

  * desription 压缩图片

  * @param sting $imgsrc 图片路径

  * @param string $imgdst 压缩后保存路径

  */

  function compressed_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){

      case 1:

        $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;

      case 2:

        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;

      case 3:

        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;

    }

  }

php and gd 函数参考表

gd_info 取得当前安装的 GD 库的信息

getimagesize 取得图像大小

getimagesizefromstring Get the size of an image from a string

image_type_to_extension 取得图像类型的文件后缀

image_type_to_mime_type 取得 getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型

image2wbmp 以 WBMP 格式将图像输出到浏览器或文件

imageaffine Return an image containing the affine tramsformed src image, using an optional clipping area

imageaffinematrixconcat Concat two matrices (as in doing many ops in one go)

imageaffinematrixget Return an image containing the affine tramsformed src image, using an optional clipping area

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 Crop an image using the given coordinates and size, x, y, width and height

imagecropauto Crop an image automatically using one of the available modes

imagedashedline 画一虚线

imagedestroy 销毁一图像

imageellipse 画一个椭圆

imagefill 区域填充

imagefilledarc 画一椭圆弧且填充

imagefilledellipse 画一椭圆并填充

imagefilledpolygon 画一多边形并填充

imagefilledrectangle 画一矩形并填充

imagefilltoborder 区域填充到指定颜色的边界为止

imagefilter 对图像使用过滤器

imageflip Flips an image using a given mode

imagefontheight 取得字体高度

imagefontwidth 取得字体宽度

imageftbbox 给出一个使用 FreeType 2 字体的文本框

imagefttext 使用 FreeType 2 字体将文本写入图像

imagegammacorrect 对 GD 图像应用 gamma 修正

imagegd2 将 GD2 图像输出到浏览器或文件

imagegd 将 GD 图像输出到浏览器或文件

imagegif 输出图象到浏览器或文件。

imagegrabscreen Captures the whole screen

imagegrabwindow Captures a window

imageinterlace 激活或禁止隔行扫描

imageistruecolor 检查图像是否为真彩色图像

imagejpeg 输出图象到浏览器或文件。

imagelayereffect 设定 alpha 混色标志以使用绑定的 libgd 分层效果

imageline 画一条线段

imageloadfont 载入一新字体

imagepalettecopy 将调色板从一幅图像拷贝到另一幅

imagepalettetotruecolor Converts a palette based image to true color

imagepng 以 PNG 格式将图像输出到浏览器或文件

imagepolygon 画一个多边形

imagepsbbox 给出一个使用 PostScript Type1 字体的文本方框

imagepsencodefont 改变字体中的字符编码矢量

imagepsextendfont 扩充或精简字体

imagepsfreefont 释放一个 PostScript Type 1 字体所占用的内存

imagepsloadfont 从文件中加载一个 PostScript Type 1 字体

imagepsslantfont 倾斜某字体

imagepstext 用 PostScript Type1 字体把文本字符串画在图像上

imagerectangle 画一个矩形

imagerotate 用给定角度旋转图像

imagesavealpha 设置标记以在保存 PNG 图像时保存完整的 alpha 通道信息(与单一透明色相反)

imagescale Scale an image using the given new width and height

imagesetbrush 设定画线用的画笔图像

imagesetinterpolation Set the interpolation method

imagesetpixel 画一个单一像素

imagesetstyle 设定画线的风格

imagesetthickness 设定画线的宽度

imagesettile 设定用于填充的贴图

imagestring 水平地画一行字符串

imagestringup 垂直地画一行字符串

imagesx 取得图像宽度

imagesy 取得图像高度

imagetruecolortopalette 将真彩色图像转换为调色板图像

imagettfbbox 取得使用 TrueType 字体的文本的范围

imagettftext 用 TrueType 字体向图像写入文本

imagetypes 返回当前 PHP 版本所支持的图像类型

imagewbmp 以 WBMP 格式将图像输出到浏览器或文件

imagewebp Output an WebP image to browser or file

imagexbm 将 XBM 图像输出到浏览器或文件

iptcembed 将二进制 IPTC 数据嵌入到一幅 JPEG 图像中

iptcparse 将二进制 IPTC 块解析为单个标记

jpeg2wbmp 将 JPEG 图像文件转换为 WBMP 图像文件

png2wbmp 将 PNG 图像文件转换为 WBMP 图像文件

以上就是本文的全部内容,希望对大家学习PHP程序设计有所帮助。

推荐信息
Baidu
map