Pet*_*tah 3 php image-processing image-resizing
如何使用干预图像调整图像大小以保持纵横比,但使图像的最短边适合所需的调整大小比例.
例如,调整大小以适应100x100的800x400图像将调整为200x100
我试过这个:
$image->resize($width, $height, function ($constraint) {
$constraint->aspectRatio();
});
Run Code Online (Sandbox Code Playgroud)
但它调整了最长的一面以适应(例如100x50).
设置宽度为null
:
$height = 100;
$image = Image::make('800x400.jpg')->resize(null, $height, function ($constraint) {
$constraint->aspectRatio();
});
$image->save('200X100.jpg', 60);
Run Code Online (Sandbox Code Playgroud)
以编程方式说,只需找到哪一侧较大并将其设置为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);
Run Code Online (Sandbox Code Playgroud)