1. 程式人生 > >php壓縮圖片

php壓縮圖片

在專案開發過程中少不了會用到圖片上傳功能,考慮到伺服器頻寬及磁碟空間,需要對圖片進行壓縮。

前端的壓縮可以節約頻寬,後端的壓縮可以節省磁碟空間。

function resizeImage($source,$percent=0.5){
        if(empty($source)){
            return false;
        }
        //獲取原圖寬高,圖片型別
        list($width, $height, $type) = getimagesize($source);
        $type = image_type_to_extension($type,false);
        $new_width = $width * $percent;
        $new_height = $height * $percent;
        //等比例建立畫布
        $image_thump = imagecreatetruecolor($new_width,$new_height);
        $bg = imagecolorallocate($image_thump,255,255,255);
        imagefill($image_thump,0,0,$bg);
        $fun = "imagecreatefrom".$type;
        $img = $fun($source);
        ImageDestroy($source);
        //將原圖複製到圖片載體上面,並且按照一定比例壓縮,極大的保持了清晰度
        imagecopyresampled($image_thump,$img,0,0,0,0,$new_width,$new_height,$width,$height);
        $func = "image".$type;
        $func($image_thump,$source);
        //銷燬記憶體
        ImageDestroy($image_thump);
        return true;
    }

另:小程式的圖片上傳介面自帶壓縮圖片功能,在配置項中有,介面地址
在這裡插入圖片描述