2016-05-23 58 views
2

如何使用Intervention Image使用Intervention Image來調整圖像大小,但要使圖像的最短邊符合所需的調整大小比例。PHP干預圖像調整圖像大小以適合最短邊長寬比

E.g.調整大小以適合一個100×100的圖像800x400將被調整到黑白200x100

我嘗試這樣做:

$image->resize($width, $height, function ($constraint) { 
    $constraint->aspectRatio(); 
}); 

但它調整大小的最長邊,以適應(例如100x50)。

+0

我很難理解你需要什麼。你能更清楚一點:我有這個,但我需要這個。 –

+0

@PedroLobito如果我調整它調整大小爲100x50的800x400圖像(100,100)。我希望它調整到200x100 – Petah

+0

瞭解。我會看看 –

回答

4

寬度null

$height = 100; 
$image = Image::make('800x400.jpg')->resize(null, $height, function ($constraint) { 
    $constraint->aspectRatio(); 
}); 
$image->save('200X100.jpg', 60); 

編程方式來說,只要找到哪一方較大,將其設置爲null,即:

$width = 100; 
$height = 100; 
$image = Image::make('400x800.png'); 
$image->width() > $image->height() ? $width=null : $height=null; 
$image->resize($width, $height, function ($constraint) { 
    $constraint->aspectRatio(); 
}); 
$image->save('100x200.jpg', 60); 
+0

佩德羅,重量應該是寬度。另外,你可以考慮添加「$ constraint-> upsize();」納入防止大型化的功能。 –

+0

它的確是寬度,tks指出這一點。 –