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



在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);
}

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

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

相关内容

最新更新