PHP 调整图像固定大小但保持方向

发布于 2024-08-26 21:40:13 字数 141 浏览 6 评论 0原文

我需要使用 GD 将 php 中的图像大小调整为固定大小,但保持方向(纵向/横向),这些是:

纵向:375 x 500px 横向:500 x 375px

我尝试过的所有内容总是忽略方向并使它们全部横向。

有人可以帮忙吗?

I need to resize images in php using GD to a fixed size but maintain the orientation (portrait/landscape), these are:

portrait: 375 x 500px
landscape: 500 x 375px

Everything I have tried always ignores the orientation and makes them all landscape.

Can anyone help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

二货你真萌 2024-09-02 21:40:13

检查传入图像的宽度和高度。如果宽度比高度宽,请将目标尺寸设置为 500 x 375,否则将其设置为 375 x 500。然后使用这些目标尺寸运行调整大小代码。

Check the width and height of the incoming image. If the width is wider than the height, make your target size 500 x 375, otherwise make it 375 x 500. Then run the resize code with those target dimensions.

ま柒月 2024-09-02 21:40:13

这是我使用的图像类中的一个方法,用于计算图像的缩放尺寸。它的工作原理是将图像放入方框中。

您可以设置 $box = 500 ,然后传递您尝试调整大小的图像的 $x$y ,它将始终返回正确调整尺寸以保持纵横比。

public static function fit_box($box = 200, $x = 100, $y = 100)
{
  $scale = min($box / $x, $box / $y, 1);
  return array(round($x * $scale, 0), round($y * $scale, 0));
}

Here is a method from an image class I use that calculates the scaled dimensions of an image. It works by fitting an image into a square box.

You can set $box = 500 and then pass the $x and $y of the image you are trying to resize and it will always return the correct resized dimensions maintaining the aspect ratio.

public static function fit_box($box = 200, $x = 100, $y = 100)
{
  $scale = min($box / $x, $box / $y, 1);
  return array(round($x * $scale, 0), round($y * $scale, 0));
}
疑心病 2024-09-02 21:40:13

这个问题在这里得到了正确的回答:如何检测照片的拍摄角度,并像桌面应用程序在查看时自动旋转网站显示?

简单的答案是,您需要使用exif_read_data()函数获取照片的“方向”属性,然后您可以使用该值来确定是否需要旋转照片。上面的答案包含示例 PHP 代码,向您展示如何做到这一点。

This question was answered correctly here: How to detect shot angle of photo, and auto rotate for website display like desktop apps do on viewing?

The short answer is, you need to use the exif_read_data() function to get the "Orientation" attribute of a photo, and then you can use that value to determine whether you need to rotate your photo. The answer above contains sample PHP code that shows you how to do that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文