Laravel 图像干预避免旋转

Lin*_*ode 3 php laravel intervention

我正在上传一个 iPhone 图像 - 由 iPhone 相机垂直拍摄 - 尺寸为2448x3264并且因为这个尺寸太高(?),当我创建600x360它的拇指时它会自动旋转到水平。

我试过什么没有成功

  • 更改拇指尺寸
  • 使用fit功能
  • 使用resize功能
  • 使用crop功能
  • 使用upsizeaspectRatio方法
  • 只设置height和使用 null onwidth
  • 只设置width和使用 null onheight

拇指的最大高度必须为360,如果宽度不是 ,我就可以了600

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

我的目标是:

  • 如果原始照片是垂直的,则缩略图垂直
  • 如果原始照片水平,则缩略图水平

我怎样才能做到这一点?

小智 9

如前所述,图像以正确的方向保存,在调整大小时,您正在运行该fit()功能,我能够在该功能上找到有关此问题的一些信息,这表明您需要orientate()配合使用。

这里的一个例子:

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

我很高兴这有帮助。


Rwd*_*Rwd 8

根据这个github问题,你可能需要orientate()先运行fit()

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