在網站開發的過程中,經常要對一些圖片進行一些處理,比如說縮放,裁剪,加水印等等。當然這些功能不僅僅可以用在開發網站的過程中,平時需要對圖片做一些處理的時候,把這個功能封裝到函數中去,要處理圖片的時候,根據自己的要求在函數中添加需要的參數不就搞定了麼。雖說這個對於小白來說可能一下子上來就點困難,但是一回生二回熟嘛。好了,進入正題。今天分享一個圖像等比例縮放的函數。需要中的同學可以稍作修改,然後自己拿去用,就省的自己寫了(大神請無視).
有不太明白的可以用php開發手冊去檢索一下,上面講的都是非常明白,是學習時一個非常好的工具,無論是新手還是老鳥。
($miny/$maxy)){ $scale=$miny/$maxy; }else{ $scale=$minx/$maxx; } //對所求值進行取整 $minx=floor($maxx*$scale); $miny=floor($maxy*$scale); //添加小圖 $minim=imagecreatetruecolor($minx,$miny); //縮放函數 imagecopyresampled($minim,$maxim,0,0,0,0,$minx,$miny,$maxx,$maxy); //小圖輸出 header("content-type:{$maxm}"); //判斷圖片類型 switch($maxt){ case 1: $imgout="imagegif"; break; case 2: $imgout="imagejpeg"; break; case 3: $imgout="imagepng"; break; } //變量函數 $imgout($minim,'copypic.jpg'); //釋放資源 imagedestroy($maxim); imagedestroy($minim); } ImageShrink("picture/apple.jpg",50,50); ?>
(1)getimagesize()這個函數的返回值是一個數組,數組中包含這個圖片尺寸,格式等信息。根據鍵值對可以獲取其中的值,賦給變量,然後在後面需要用的地方直接傳入變量。關於函數,詳解請看手冊。
(2)進行正比例縮放時,我們需要考慮縮放的比例,拿小圖的長寬和大圖的長寬做比較,選擇比例小的作為縮放比例。這裡不是特別好理解,大家可以親自試試。
(3)大圖縮放之後,小圖的格式沒有發生變化,所以在後面需要函數輸出圖像的時候,判斷圖像格式,這裡就需要使用變量函數。將函數賦給一個變量,這招用到的時候感覺還是蠻叼的。
(4)保存的圖片格式可以自己設置,保存路徑與原圖片同一路徑。其他參數看個人需求了。