zoukankan      html  css  js  c++  java
  • 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("/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."/",$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;
        }
      }
  • 相关阅读:
    EF单实对应多表
    阻止保存要求重新创建表的更改
    Jenkins 修改主目录正解 workspace
    JNLP文件具体说明编辑
    Jenkins新建节点,启动方式没有“通过Java Web启动代理”选项怎么办?
    Entity Framework:“无法加载指定的元数据资源
    Java环境路径配置--转载
    趣谈StateServer在Web Garden,Web Farm下的使用
    【译文】漫谈ASP.NET中的Session
    好记心不如烂笔头之JQuery学习,第四章
  • 原文地址:https://www.cnblogs.com/Life-Record/p/5893766.html
Copyright © 2011-2022 走看看