如何基于不同大小的最大宽度和高度计算图像的比例因子

时间:2018-07-26 15:26:44

标签: crop

我正在尝试计算一个简单的计算比例因子的方法,以使图像可以完美地适合容器尺寸而不会拉伸。这意味着原始图像可能必须溢出它需要放入的容器,这很好。

问题在于图像可以是任意大小,在W和H方向上都可以大于容器,在W处可以更大,在H处更大,或者在任何情况下都较小。

因此,例如,我们有以下包含框:

500x500 500x1000 1000x500 300x300 200x50 50x200

,我希望将500x500的图像放入其中,但要保持其自己的比例;因此它将在某些方向上溢出其中一些容器,而在其他方向上则不会。

代码所用的语言无关紧要,目前我正在使用JS,这只是我在努力的背后的计算。如果只有一个尺寸的容器,这不会有太大的问题,但是我正在努力寻找一种适合所有公式的尺寸。

1 个答案:

答案 0 :(得分:1)

在评论的后面,解决方案可以这样改写:

  • 步骤1 :如果图片高度小于容器的图片高度,请放大以适合图片。
  • 步骤2 如果图片宽度小于容器的图片宽度,请进一步放大以适合图片。
  • 步骤3 如果步骤1和步骤2中的任何一个为true,请转到步骤5
  • 第4步采用(图片高度-容器高度)和(图片宽度-容器宽度)中的最小值。缩小规模。
  • 步骤5 作物过量

完成

请注意,总共应进行0或1的放大或缩小操作,并保持原始比例。