加入收藏 | 设为首页 | 会员中心 | 我要投稿 揭阳站长网 (https://www.0663zz.cn/)- 机器学习、行业智能、决策智能、云计算、AI应用!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP等比例压缩图片的实例代码

发布时间:2022-07-18 09:49:26 所属栏目:PHP教程 来源:互联网
导读:本文通过一段简单的代码给大家介绍PHP等比例压缩图片的方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧。 具体代码如下所示: /** * desription 压缩图片 * @param sting $imgsrc 图片路径 * @param string $imgdst 压缩后保存路
  本文通过一段简单的代码给大家介绍PHP等比例压缩图片的方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧。
 
  具体代码如下所示:
 
  /**
     * desription 压缩图片
     * @param sting $imgsrc 图片路径
     * @param string $imgdst 压缩后保存路径
     */
    public function compressedImage($imgsrc, $imgdst) {
      list($width, $height, $type) = getimagesize($imgsrc);
      $new_width = $width;//压缩后的图片宽
      $new_height = $height;//压缩后的图片高
      if($width >= 600){
        $per = 600 / $width;//计算比例
        $new_width = $width * $per;
        $new_height = $height * $per;
      }
      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);
            //90代表的是质量、压缩图片容量大小
            imagejpeg($image_wp, $imgdst, 90);
            imagedestroy($image_wp);
            imagedestroy($image);
          }
          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);
          //90代表的是质量、压缩图片容量大小
          imagejpeg($image_wp, $imgdst, 90);
          imagedestroy($image_wp);
          imagedestroy($image);
          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);
          //90代表的是质量、压缩图片容量大小
          imagejpeg($image_wp, $imgdst, 90);
          imagedestroy($image_wp);
          imagedestroy($image);
          break;
      }
    }

(编辑:揭阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读