1

我在调整图像大小时遇到​​问题。

首先,一开始我有一个图像,例如 1920x1080。用户输入是调整当前图像大小的百分比,例如当输入为 25% 时,图像的最终分辨率为 960x540。

解释:

1920x1080 = 2 073 600
25% from 2 073 600 = 518 400
960x540 = 518 400

我已经有调整图像大小的功能,但我不知道如何计算调整大小图像的WIDTHHEIGHT值。

我的例子是960x540。(如果它可以帮助你,图像的比例为 3:2,4:3,16:9 ....)

有什么帮助吗?

4

1 回答 1

4

您收到以下信息:

width = 1920
height = 1080
area = 2073600
ratio = width / height =~ 1.77778

现在,假设您想在区域缩小到当前大小的 25% 时计算新的宽度和高度。那么我们知道以下几点:

area = 0.25 * 2073600 = 518400
height = h (Variable, because it is unknown at the moment)
width = w (Variable, because it is unknown at the moment)

ratio = 1.77778 (Ratio should stay the same or image becomes warped/stretched)

所以你有了

w / h = 1.77778 (Your unknown new width divided by unknown height equals ratio)
w * h = 518400 (Your unknown width times unknown height equals area)

现在你可以相对容易地用数学方法解决它。它只是具有两个变量的两个方程。

w = 1.77778 * h (from first equation)
(1.77778 * h) * h) = 518400 (by plugging above into second equation)
h =~ 540
w =~ 960

那有意义吗?

于 2013-07-04T21:53:19.013 回答