本文介紹了PHP實現圖片壓縮方法,讀者可以根據具體應用參考或加以改進,直接上代碼,imgzip($src,$newwid,$newhei)這個函數帶進去的分別是原圖片、縮放要求的寬度、縮放的長度。
<?php //壓縮圖片 縮略圖 $src= "xiezheng.jpg"; $newwid=640; $newhei= 480; function imgzip($src,$newwid,$newhei){ $imgInfo = getimagesize($src); $imgType = image_type_to_extension($imgInfo[2], false); $fun = "imagecreatefrom{$imgType}"; //聲明圖片 打開圖片 在內存中 $image = $fun($src); //方便配置長度寬度、高度,設置框為變量wid,高度為hei $wid=$imgInfo[0]; $hei=$imgInfo[1]; //判斷長度和寬度,以方便等比縮放,規格按照500, 320 if($wid>$hei){ $wid=$newwid; $hei=$newwid/($wid/$hei); }else { $wid = $newhei * ($wid / $hei); $hei = $newhei; } //在內存中建立一張圖片 $images2 = imagecreatetruecolor($newwid, $newhei); //建立一個500*320的圖片 //將原圖復制到新建圖片中 //imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[1]); //銷毀原始圖片 imagedestroy($image); //直接輸出圖片文件 header("Content-type: ".$imgInfo['mime']); imagejpeg($images2); //保存圖片 到新文件 imagejpeg($images2, 'new.jpg', 100); //10代碼輸出圖片的質量 0-100 100質量最高 //銷毀 imagedestroy($images2); } imgzip($src,$newwid,$newhei); ?>
希望本文所述對大家對PHP程序設計有所幫助。