加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php实现等比例压缩图片

发布时间:2020-12-13 21:30:44 所属栏目:PHP教程 来源:网络整理
导读:?现在一般手机拍摄的照片文件都比较大,但是上传到服务器我们不想保存这么大的文件。 /** * desription 压缩图片 * @param sting $imgsrc 图片路径 * @param string $imgdst 压缩后保存路径 */ public function compressedImage($imgsrc,$imgdst) { list($wi

?现在一般手机拍摄的照片文件都比较大,但是上传到服务器我们不想保存这么大的文件。

/**
     * 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,$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,$height);
                //90代表的是质量、压缩图片容量大小
                imagejpeg($image_wp,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,90);
                imagedestroy($image_wp);
                imagedestroy($image);
                break;
        }
    }

  来源:https://www.aspzz.cn/article/144518.htm

(编辑:李大同)

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

    推荐文章
      热点阅读