如何将图像的纵横比调整到极限

How to resize an aspect ratio of an image to be in a limit

我有一个基本的作业Python,我不能用它做任何事情。我需要编写一个程序,在其中给出两个数字 (a,b),它们是图像的两侧,然后它计算并更改两侧的大小以达到给定的限制(2 Mp,2 * 1024 * 1024),保持纵横比。这是我到目前为止所做的:

a = int(input("a= "))
b = int(input("b= "))
hanyados = float(a/b)
if a * b <= 2*1024*1024:
    print ("we dont have to change anything")
else:
    while a * b > 2 * 1024 * 1024:
        --algorithm of resizing here--
    print (a)
    print (b)

感谢您的帮助!

因为a/b是hanyados,a = b * hanyados,a * b = b * b * hanyados = 2Mp。 所以 b * b = 2Mp / hanyados,或 b = sqrt(2Mp/ hanyados)。然后从上面确定 a (a = b * hanyados)。逻辑就是这样,你可以写代码。