2016-11-17 220 views
-1

输入图像尺寸尺寸(A,B)图像的大小调整

输出图像尺寸(C,d)其中c> = k和d> = K

实施例: 输入图像(900600)以最小的尺寸k = 400

然后输出图像应该是(600400)

是否有从PIL.Image任何函数来实现这一目标?

+0

http://stackoverflow.com/questions/1252218/pil-image-resize-not-resizing-the-picture OR http://stackoverflow.com/questions/273946/how-do -i-resize-an-image-using-pil-and-maintain-its-aspect-ratio或者http://stackoverflow.com/questions/24745857/python-pillow-how-to-scale-an-image – Lafexlos

回答

2

您不能使用通常的“缩略图”,因为它是针对具有最大尺寸的更常见的要求而设计的。相反,您可以在计算所需大小后使用“调整大小”方法。喜欢的东西:

if image.width >= k and image.height >= k: 
    if image.height < image.width: 
     factor = float(k)/image.height 
    else: 
     factor = float(k)/image.width 
    image.resize((image.width* factor, image.height * factor))