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;
        }
      }
  • 相关阅读:
    TCP原理简介
    zabbix_get [109064]: Check access restrictions in Zabbix agent configuration
    Log4j2:异步日志中打印方法名和行号信息
    高仿腾讯QQ最终版
    启动TOMCAT报错 java.util.zip.ZipException: invalid LOC header (bad signature)
    修改hosts立刻生效不必重启
    MyEclipse的Debug模式启动缓慢
    SpringBatch配置数据库
    SpringBatch的核心组件JobLauncher和JobRepository
    SpringBatch前言
  • 原文地址:https://www.cnblogs.com/Life-Record/p/5893766.html
Copyright © 2011-2022 走看看