Я загружаю изображение iPhone, снятое камерой iPhone в вертикальном положении, с размерами 2448x3264, и поскольку эти размеры настолько велики (?), когда я создаю большой палец 600x360, он автоматически поворачивается в горизонтальное положение.
Что я пробовал без какого-либо успеха:
fitresizecropupsize и aspectRatioheight и используйте null на widthwidth и используйте null на heightБольшой палец должен иметь максимальную высоту 360, и я не против, если ширина не 600.
$imageResize = Image::make($originalFile);
$imageResize->fit(600, 360, function ($constraint)
{
$constraint->upsize();
});
$imageResize->save($thumbPath);
Моя цель - иметь:
Как я могу этого добиться?
@swonder да, исходное изображение сохраняется с вращением/размерами по умолчанию.
Не могли бы вы взглянуть на эта проблема с гитхабом, поскольку он, похоже, встроен в ваш вопрос. Это может быть связано с функцией fit().
@swonder метод orientate решен, вы хотите настроить его как ответ, чтобы я мог принять?






Согласно эта проблема с гитхабом вам может потребоваться запустить orientate() до fit():
$imageResize = Image::make($originalFile)
->orientate()
->fit(600, 360, function ($constraint) {
$constraint->upsize();
})
->save($thumbPath);
Как говорилось ранее, изображение сохраняется в правильной ориентации, и в момент изменения размера вы запускаете функцию fit(), в которой я смог найти немного информации по этому вопросу, работающую рядом с той, которая предполагает, что вам нужно использовать orientate() с подгонкой.
Пример здесь:
$imageResize = Image::make($originalFile);
$imageResize->orientate()
->fit(600, 360, function ($constraint) {
$constraint->upsize();
})
->save($thumbPath);
Я рад, что это помогло.
$img = Image::make($originalFile);
$img->orientate();
$img->resize(1024, null, function($constraint){
$constraint->upsize();
$constraint->aspectRatio();
});
$img->save();
Хотя ваш фрагмент кода может дать ответ на вопрос, предоставление дополнительного контекста относительно того, почему и/или как работает ваш фрагмент кода, повышает его ценность в долгосрочной перспективе.
При сохранении исходный файл находится в исходном вращении? Итак, если вы вручную перешли к месту, файл находится в правильном вращении с размерами по умолчанию? Я нашел здесь некоторую информацию, которая может указывать на то, что Laravel меняет ее при загрузке.