程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP實例————圖片等比例縮放功能

PHP實例————圖片等比例縮放功能

編輯:關於PHP編程

PHP實例————圖片等比例縮放功能


在網站開發的過程中,經常要對一些圖片進行一些處理,比如說縮放,裁剪,加水印等等。當然這些功能不僅僅可以用在開發網站的過程中,平時需要對圖片做一些處理的時候,把這個功能封裝到函數中去,要處理圖片的時候,根據自己的要求在函數中添加需要的參數不就搞定了麼。雖說這個對於小白來說可能一下子上來就點困難,但是一回生二回熟嘛。好了,進入正題。今天分享一個圖像等比例縮放的函數。需要中的同學可以稍作修改,然後自己拿去用,就省的自己寫了(大神請無視).

1.首先,了解一下圖片縮放中多需要的函數

\

有不太明白的可以用php開發手冊去檢索一下,上面講的都是非常明白,是學習時一個非常好的工具,無論是新手還是老鳥。

2.分享一下代碼,注釋寫的很明白了(自我感覺良好,不足之處望大家指正)

($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);
?>


3.整段代碼中有幾個不太容易理解的地方,稍作解釋

(1)getimagesize()這個函數的返回值是一個數組,數組中包含這個圖片尺寸,格式等信息。根據鍵值對可以獲取其中的值,賦給變量,然後在後面需要用的地方直接傳入變量。關於函數,詳解請看手冊。

(2)進行正比例縮放時,我們需要考慮縮放的比例,拿小圖的長寬和大圖的長寬做比較,選擇比例小的作為縮放比例。這裡不是特別好理解,大家可以親自試試。

(3)大圖縮放之後,小圖的格式沒有發生變化,所以在後面需要函數輸出圖像的時候,判斷圖像格式,這裡就需要使用變量函數。將函數賦給一個變量,這招用到的時候感覺還是蠻叼的。

(4)保存的圖片格式可以自己設置,保存路徑與原圖片同一路徑。其他參數看個人需求了。



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved