Intervention 影像切割擴充套件

g1f9發表於2018-04-01

Intervention 更多操作記錄

$source 可以是圖片的本地路徑,可以是圖片的 URL 路徑,可以是一個二進位制圖片資料,也可以是 PHP 的影像資源,列如在用 form 標籤上傳圖片時, 獲得的圖片資源,返回一個 Intervention 的 Image 物件,save 函式可以儲存對於影像的修改

make(mixed $source);
$img=Image::make('public/foo.jpg');
$img->save();

這個函式是用於調整圖片寬高,是按照比例進行縮放

resize(int $width,int $height,[Closure $callback])
$img->resize(300,200);
//將圖片大小調整為(300,200),會進行縮放,如果圖片原本比例不為3:2,可能會出現邊扁,或變高
$img->resize(300,null);
//只調整寬度
$img->resize(300,null,function($constraint){
    $constraint->aspectRatio();
        $constraint->upsize();
});
// 調整寬度為300 高度等比例縮放

這兩個函式是上面 resize() 等比例調整圖片的快捷方式,只需傳入寬度,或者高度,就可以等比例調整到你需要的寬高

widen($width,callback);
$img->widen(300);
$img->widen(300,function($constraint){
    $constraint-upsize();
});

這兩個函式分別用於獲取圖片的寬高,以數值的形式返回

$width=$img->width();
$height=$img->height();

crop 函式以 $x,$y 為起點,切割 width,height 寬度的圖片,如果忽略 $x,$y 那麼就會以圖片的中心為起點

crop(int $width,int $height,[int $x],[int $y]])
$img->crop(300.,200,0,0);

fit 函式是 crop 函式和 resize 函式的結合版,按照你傳入的寬高,進行剪下和縮放,非常智慧,position 屬性為字串,指定剪下的位置,預設為中心。可選引數有 top-left,top-right,bottom-left,bottom-right 等等,個人理解是先按照傳入的比例剪下,後調整到你指定的大小

fit(int $width,[ int $height ], [Closure $callback], [String $position])
$img->fit(300,200);
//按照 3:2 比例,並調整到 300x200
$img-fit(200);
//1:1 比例,並調整到200
$img->fit(300,200,function($constraint){
  $constraint->upsize();
});
//調整到 300x200,並防止圖片放大

官方文件http://image.intervention.io

相關文章