我在调整图片大小时遇到问题。
首先,我在1920x1080拍摄了一张照片。用户输入是调整当前图像大小的百分比,例如,当输入为25%时,图像的最终分辨率为960x540。
说明:
1920x1080 = 2 073 600
25% from 2 073 600 = 518 400
960x540 = 518 400
我已经具有调整图像大小的功能,但我不知道如何计算值 WIDTH 和 HEIGHT 以获得调整大小的图像
我的例子是960x540。 (如果它可以帮助你,图像的比例为3:2,4:3,16:9 ....)
有任何帮助吗?
答案 0 :(得分: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
这有意义吗?