将图像重新调整为新的高度和宽度,但不要超过原始高度和宽度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将图像重新调整为新的高度和宽度,但不要超过原始高度和宽度相关的知识,希望对你有一定的参考价值。

php中需要将图像调整为新的高度和宽度但不要跨越原始图像。示例我需要将图像大小调整为200 * 200.但实际上,图像大小为150 * 150然后调整大小不会发生。

  • 如果图像尺寸为300 * 300则需要调整为200 * 200。
  • 如果图像尺寸为300 * 150,则调整为200 * 150。

任何人都可以帮助解决这个问题。如果有任何插件可用

答案

这里有一些伪代码可以说明逻辑的可能路径:

function resizeMyImage($incImage){
  $imageRatio;
  $maxSize = 200;
  $originalX;
  $originalY;
  $newX;
  $newY;

  $newX = $originalX = imageSize.x;
  $newY = $originalY = imageSize.y;
  $imageRatio = imageSize.x / imageSize.y;

  if($imageRatio >= 1){
   // height is greater than (or equal to) width
   if($newX > $maxSize){
     return false;
   }else{
     $newX = $maxSize;
     $newY = $newX / $imageRatio;
   }
  }else{
   // width is greater than height
   if($newY > $maxSize){
     return false;
   }else{
     $newY = $maxSize;
     $newX = $newY * $imageRatio;
   }
  }
  resizeTheImage($newX,$newY);
}

这是伪代码并且不起作用,但它是在保持纵横比的同时调整具有最大宽度或高度的图像的快速示例。

我会查看你的代码并编写一个可行的例子,但你没有提供任何代码。我希望这有帮助。

以上是关于将图像重新调整为新的高度和宽度,但不要超过原始高度和宽度的主要内容,如果未能解决你的问题,请参考以下文章

使用具有最大宽度/高度的 ImageMagick 调整大小

GAE - 在服务器端获取图像宽度和高度

如何在保持宽高比的同时将图像调整为固定的宽度和高度?

如何在浏览器宽度调整大小但保持相同高度时自动调整图像大小?

Internet Explorer 自动为新添加的图像添加高度和宽度属性

使用文件阅读器获取图像的宽度和高度