Как я могу поместить прямоугольную фотографию в квадратную фотографию? - PullRequest
0 голосов
/ 04 февраля 2019

У меня прямоугольная фотография.Я хочу поместить это в квадратную фотографию.Так что весь прямоугольник помещается в квадрат.(Я хочу, чтобы на прямоугольной фотографии было все изображение прямоугольника!)

Я пробовал это:

$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 голосов
/ 04 февраля 2019

Вы можете сделать свое изображение с исходным соотношением сторон, но подгоните его под размер квадрата, не обрезая его.Как я вижу, вы используете Intervention Image, так что вы можете попробовать:

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

С этим вы скажете Intervention создать изображение и выберете подгонку по квадрату по ширине, если ширина вашего изображения больше высоты или повысота, если высота вашего изображения больше ширины.

Если вам также нужен квадрат вокруг, вы можете использовать:

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