星期一, 八月 20, 2007
PHP 等比例縮圖程式
兩個 function, 一個算比例要多少(getResizePercent), 另一個 function 依照比例將圖片縮小, 縮到剛好符合預計縮小的其中一邊的尺寸(ImageResize).
使用上只要將這兩個 function 一起放進程式裡面, 直接呼叫 ImageResize(), 把參數傳進去即可.
ImageResize function
- Usage: ImageResize('ram/xxx.jpg', 'ram/ooo.jpg');
- 抓取要縮圖的比例, 下述只處理 jpeg
- $from_filename : 來源路徑, 檔名, ex: /tmp/xxx.jpg
- $save_filename : 縮圖完要存的路徑, 檔名, ex: /tmp/ooo.jpg
- $in_width : 縮圖預定寬度
- $in_height: 縮圖預定高度
- $quality : 縮圖品質(1~100)
getResizePercent function
- 抓取要縮圖的比例
- $source_w : 來源圖片寬度
- $source_h : 來源圖片高度
- $inside_w : 縮圖預定寬度
- $inside_h : 縮圖預定高度
- Test:
- $v = (getResizePercent(1024, 768, 400, 300));
- echo 1024 * $v . "\n";
- echo 768 * $v . "\n";
程式原始碼如下:
請問一下:
這是把尺寸縮小而已還是連檔案也縮小了?
因我想別人上傳的圖檔其檔案縮小一份作為預覽用,以加速網頁傳輸
Comment by
QQ
(02/25/2008 16:30)
請問有長寬的限制嗎?
我測試時,如果圖檔ㄉ長寬超過一定尺寸就沒反應了.....
Comment by
kink
(12/25/2008 16:33)
這個超好用的 ^^
請問這可以縮GIF或PNG檔嗎?
我縮GIF或PNG檔都會怪怪的, 整張圖都會變黑色的
Comment by
tenlans
(01/06/2009 09:14)
回 tenlans
可以, 但是程式的 $image = imagecreatefromjpeg($from_filename); 要改成
$function_name = 'imagecreatefrom'.$sub_name;
$image = $function_name($filename);
這樣子~ :)
Comment by
Tsung
(01/06/2009 09:20)
發表迴響
PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~



