如何随机调整图像大小但与原始图像成比例? PIL

时间:2017-06-26 19:04:56

标签: python python-2.7 python-imaging-library

我这样做:

height = randint(100,1000)
width = randint(100,1000)

image = image.resize((width, height), Image.ANTIALIAS)

我冒着图像水平的风险,它会变成垂直图像......

如何随机调整图像大小但与原始图像成比例?

2 个答案:

答案 0 :(得分:1)

试试这个:用这个替换第二行:
新宽度=(newheight / oldheight)*旧宽度
不是python编码器,但是一旦你在python中表达它,这应该在数学上做。

答案 1 :(得分:0)

不是单独随机化高度和宽度,而是可以使用一个randint并将该随机数乘以宽高比。

假设您的宽高比为4:3

num = randint(100, 1000)
image = image.resize((4*num, 3*num), Image.ANTIALIAS)

您还可以使用image.widthimage.height代替对内部数字进行硬编码

image = image.resize((image.width*num, image.height*num), Image.ANTIALIAS)