php - Laravel 图像干预避免旋转
问题描述
我正在上传一个 iPhone 图像 - 由 iPhone 相机垂直拍摄 - 尺寸为2448x3264
并且因为这个尺寸非常高(?),当我创建它的拇指时,600x360
它会自动旋转到水平。
我尝试了什么但没有成功:
- 更改拇指尺寸
- 使用
fit
功能 - 使用
resize
功能 - 使用
crop
功能 - 使用
upsize
andaspectRatio
方法 - 仅设置
height
并使用 null onwidth
- 仅设置
width
并使用 null onheight
拇指的最大高度必须为360
,如果宽度不是 ,我可以600
。
$imageResize = Image::make($originalFile);
$imageResize->fit(600, 360, function ($constraint)
{
$constraint->upsize();
});
$imageResize->save($thumbPath);
我的目标是:
- 如果原始照片是垂直的,则垂直缩略图
- 如果原始照片是水平的,则缩略图是水平的
我怎样才能做到这一点?
解决方案
如前所述,图像以正确的方向保存,并且在调整大小时,您正在运行该fit()
功能,我能够在该功能上找到有关此问题的一些信息,这表明您需要orientate()
配合使用。
这里有一个例子:
$imageResize = Image::make($originalFile);
$imageResize->orientate()
->fit(600, 360, function ($constraint) {
$constraint->upsize();
})
->save($thumbPath);
我很高兴这有帮助。
推荐阅读
- typescript - TypeScript:扩展原生类会给出不正确的原型
- javascript - 将参数从堆栈导航器传递到选项卡导航器(反应导航 5)
- c# - 作为 Windows 服务运行的高负载 ASP.NET 应用程序未停止
- sql - 如何使 postgres 函数重新排序表示链表的行?
- excel - 如何从单独的 Excel 工作表 VBA 中删除最后一行
- python - 为什么 urllib.request.urlopen 在华尔街日报的网站上给我 404?
- python - 使用 vtk python 显示 3D 图像
- visual-studio - 在 Windows 上的 Visual Studio 社区中使用 F#
- python - 如何将公共谷歌电子表格访问到 csv 熊猫数据框?
- javascript - Jitsi meet 连接未建立