在上傳圖檔時
有些會需要順便產生縮圖
供瀏覽的時候使用
避免圖檔過大
以致影響瀏覽速度
在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"); |

沒有留言:
張貼留言