如何在矩形照片中放置矩形照片?

时间:2019-02-04 12:24:09

标签: laravel image gd intervention

我有一张矩形照片。 我想把它放在方形的照片中。 这样整个矩形都放置在正方形中。 (我想在方形照片中包含整个矩形图像!)

我尝试过:

$width = 500;
$height = 500;
$img = Image::make($path);
$img->width() > $img->height() ? $width=null : $height=null;
$img->resize($width, $height, function ($constraint) {
    $constraint->aspectRatio();
})->fit(500, 500, function ($constraint) {
    $constraint->upsize();
});

但是它剪切了主图像的某些部分。 我该如何纠正?

1 个答案:

答案 0 :(得分:1)

您可以将图像设置为原始宽高比,但可以将其适合正方形的大小而无需裁剪。如我所见,您使用干预图像,因此可以尝试:

$img = Image::make($path)->resize($width, $height, function ($constraint) {
    $constraint->aspectRatio();
});

这样,您告诉Intervention创建图像,如果图像的宽度大于高度,则选择按宽度适合正方形;如果图像的高度大于宽度,则选择按高度适应正方形。

如果您还想要一个正方形,可以使用:

$square = Image::canvas($width, $height, '#101010')->insert($img, 'center');