Laravel Image Intervention избежать вращения - PullRequest
2 голосов
/ 10 июня 2019

Я загружаю изображение iPhone - снятое камерой iPhone по вертикали - с размерами 2448x3264, и поскольку эти размеры настолько велики (?), Когда я создаю большой палец 600x360, он автоматически поворачивается в горизонтальное положение.

Что я пытался безуспешно :

  • Изменение размеров большого пальца
  • Использование функции fit
  • Используйте функцию resize
  • Используйте функцию crop
  • Используйте методы upsize и aspectRatio
  • Установите только height и используйте нольна width
  • Установите только width и используйте ноль на height

Максимальный размер большого пальца должен быть 360, и я в порядке, еслиширина не 600.

$imageResize = Image::make($originalFile);
$imageResize->fit(600, 360, function ($constraint)
{
    $constraint->upsize();
});
$imageResize->save($thumbPath);

Моя цель состоит в том, чтобы:

  • Миниатюры по вертикали, если исходная фотография вертикальная
  • Миниатюры по горизонталиесли исходное фото горизонтальное

Как этого добиться?

Ответы [ 2 ]

2 голосов
/ 10 июня 2019

Как говорилось ранее, изображение сохраняется в правильной ориентации, и в момент изменения размера вы запускаете функцию fit(), в которой мне удалось найти некоторую информацию по этому вопросу.проблема , идущая вдоль стороны, которая предлагает вам использовать orientate() с подгонкой.

Пример здесь:

$imageResize = Image::make($originalFile);
$imageResize->orientate()
->fit(600, 360, function ($constraint) {
    $constraint->upsize();
})
->save($thumbPath);

Я рад этомупомог.

1 голос
/ 10 июня 2019

Согласно этой проблеме github вам может потребоваться запустить orientate() до fit():

$imageResize = Image::make($originalFile)
    ->orientate()
    ->fit(600, 360, function ($constraint) {
        $constraint->upsize();
    })
    ->save($thumbPath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...