在網站開發中,圖片處理需求極其普遍:縮圖、裁切、加浮水印、旋轉等。原生 GD 函式繁瑣且易出錯,PHPThumb(GitHub: masterexploder/PHPThumb)提供鏈式呼叫介面,大幅簡化開發。
注意:GitHub 上同名專案 phpThumb(小寫)為另一套較舊的庫,文件查找時請留意大小寫區別。
// Composer 安裝
composer require masterexploder/phpthumb
// 或手動下載後引入
require_once 'path/to/ThumbLib.inc.php';
use PHPThumb\GD;
$thumb = PhpThumbFactory::create('https://www.example.com/image.jpg');
// 1. 固定寬高縮放(保持比例)
$thumb->resize(100, 100);
// 2. 百分比縮放
$thumb->resizePercent(50);
// 3. 自適應裁切至指定尺寸(從中心)
$thumb->adaptiveResize(175, 175);
// 4. 從中心裁切
$thumb->cropFromCenter(200, 100);
// 5. 指定座標裁切 (x, y, width, height)
$thumb->crop(100, 100, 300, 200);
// 6. 旋轉 180 度
$thumb->rotateImageNDegrees(180);
// 7. 加浮水印(需另行實作)
// $thumb->addWatermark('watermark.png', 'bottom-right', 50);
// 8. 儲存
$thumb->save('NewPath/Of/image.jpg');
另一套經典庫 phpThumb(官網:phpthumb.sourceforge.net)支援更豐富的濾鏡參數,透過 URL 即可操作:
src:來源圖片路徑w/h:輸出寬/高q:JPEG 品質 (1-100)fltr[]:濾鏡陣列(銳化、模糊、旋轉、水印、邊框、色彩調整等)f:輸出格式 (jpeg|png|gif|ico)範例:phpThumb.php?src=img.jpg&w=200&h=150&fltr[]=wmt|logo.png|BR|50&f=png
| 需求 | 推薦庫 |
|---|---|
| 物件導向、鏈式呼叫、現代 PHP 專案 | PHPThumb (masterexploder) |
| URL 參數式、快速整合舊專案、需大量濾鏡 | phpThumb (sourceforge) |