laravel use Intervention/image
Laravel Intervention/image 圖片處理
Intervention/image是一個對圖像處理知名的庫,我們可以用它來創建縮圖,加上浮水印,格式化大型圖檔等等。
支援常見圖像處理庫像是GD Library
和imagemagick
安裝
php composer.phar require intervention/image |
系統要求
- PHP >= 5.4
- Fileinfo Extension
以及以下其一圖像library
- GD Library (>=2.0) … or …
- Imagick PHP extension (>=6.5.7)
配置
發布配置指令
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravelRecent" |
我們可以找到此檔案app/config/packages/intervention/image/config.php
可以選擇要使用哪一個圖像庫做驅動gd
或是imagick
Intervention/image
默認是用PHP
的GD Library
來進行圖像處理,但在處理效率上imagemagick
稍勝於gd
,所以推薦可以換成imagemagick
來進行圖像處理。
'driver' => 'gd' |
圖像處理範例
基本功能
use Intervention\Image\Facades\Image; |
調整圖片大小範例
假設原圖如下(8.60 MB),我們可以調整他的大小並儲存為webp
格式,那webp
格式又是甚麼,簡單來說就是在減少檔案大小的同時,達到和JPEG
、PNG
、GIF
格式相同的圖片品質。
(圖片來自https://wall.alphacoders.com/
)
固定寬度為400
,高度等比例縮放,並以95%
品質儲存為webp
檔案格式,調整過後檔案大小為39kb
use Intervention\Image\Facades\Image; |
(此用jpg
檔案代替一下)
剪裁圖片
use Intervention\Image\Facades\Image; |
插入浮水印
在右下角插入聖誕老人
use Intervention\Image\Facades\Image; |
動態處理圖片
我們可以透過HTTP
方式訪問圖像,使用這種方式一張照片只需上傳一次,透過對其調整大小剪裁等等,即可得到不同尺寸圖片
use Illuminate\Support\Facades\Route; |
假設要取得寬 x 高為 400 x 500的圖像,即可透過訪問以下網址取得
/image/manipulaton/imagename/400/500 |
更多功能
查看更多API,前往intervention.io
評論
ValineDisqus