在上傳圖檔時
有些會需要順便產生縮圖
供瀏覽的時候使用
避免圖檔過大
以致影響瀏覽速度
在PHP上產生縮圖
可使用php的GD功能
直接使用 imagecopyresampled() 或 imagecopyresized()
就可以產生縮圖
要有支援GD功能
可先查看phpinfo()
在建立空白縮圖時
背景預設是黑色
可以使用 imagecolorallocate() 跟 imagefilledrectangle() 將縮圖先填入顏色
再將來源圖檔依比例填入縮圖檔案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $src = imagecreatefromjpeg( "./old.jpg" ); //讀取來源圖檔 $src_w = imagesx( $src ); //取得來源圖檔長寬 $src_h = imagesy( $src ); $new_w = 100; //新圖檔長寬 $new_h = 100; $thumb = imagecreatetruecolor( $new_w , $new_h ); //建立空白縮圖 //設定空白縮圖的背景,如不設定,背景預設為黑色 $bg = imagecolorallocate( $thumb ,255,0,255); //空白縮圖的背景顏色 imagefilledrectangle( $thumb ,0,0, $src_w , $src_h , $bg ); //將顏色填入縮圖 //執行縮圖 imagecopyresampled( $thumb , $src , 0, 0, 0, 0, $new_w , $new_h , $src_w , $src_h ); imagejpeg( $thumb , "./new.jpg" ); |
沒有留言:
張貼留言