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

本文通过一段简单的代码给大家介绍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;
    }
  }

总结

以上所述是小编给大家介绍的PHP等比例压缩图片的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对得得之家网站的支持!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

本文通过实例代码给大家介绍了PHP实现随机数字、字母的验证码功能,代码简单易懂,非常不错,具有一定得参考借鉴价值,需要得朋友参考下吧
这篇文章主要介绍了PHP使用XMLWriter读写xml文件操作,结合实例形式分析了php基于XMLWriter针对xml文件进行读写操作相关实现技巧,并附带相关源码供读者下载参考,需要的朋友可以参考下
这篇文章主要介绍了PHP常用日期加减计算方法,结合实例形式总结分析了php日期计算常见的时区设置、date日期转换、计算等相关操作技巧,需要的朋友可以参考下
这篇文章主要介绍了ThinkPHP5.0多个文件上传后找不到临时文件的修改方法,需要的朋友可以参考下
这篇文章主要介绍了PHP笛卡尔积实现算法,涉及php数组的递归、遍历、判断、拼接等相关操作技巧,需要的朋友可以参考下
这篇文章主要给大家介绍了关于作为PHP程序员要知道的另外一种日志的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧