php壓縮圖片
阿新 • • 發佈:2018-12-18
在專案開發過程中少不了會用到圖片上傳功能,考慮到伺服器頻寬及磁碟空間,需要對圖片進行壓縮。
前端的壓縮可以節約頻寬,後端的壓縮可以節省磁碟空間。
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; }
另:小程式的圖片上傳介面自帶壓縮圖片功能,在配置項中有,介面地址