如何使用PIL正确缩放图像在python上调整大小或转换

时间:2014-10-22 22:28:53

标签: python image scale python-imaging-library

我想知道你们是否知道如何用PIL方法正确地缩放图像,我读过,我知道:     im.resize(size_tuple) 但是我只是在缩放后不断让我的图像不完整,这里是我的代码和我的照片,希望你能帮助我,谢谢

if image_size[0] <  120 and image_size[1] <  155:
     image = image.resize((120,155),Image.ANTIALIAS)
     image.save(f_out)

代码会保存我调整大小的图像,但它在底部显示黑线,图像是裁剪而不完整,有任何想法如何解决这个问题?,提前感谢

更新: 这是我正在使用的完整代码

def makeThumb(f_in, f_out, size=(120,155), pad=False):
    image = Image.open(f_in)
    avatar_size = (120,155)
    image_size = image.size
    method = Image.NEAREST if image_size == avatar_size else Image.ANTIALIAS

    if pad:
        thumb = image.crop( (0, 0, size[0], size[1]) )
        offset_x = max( (size[0] - image_size[0]) / 2, 0 )
        offset_y = max( (size[1] - image_size[1]) / 2, 0 )
        thumb = ImageChops.offset(thumb, offset_x, offset_y)

    else:
        if image_size[0] <  120 and image_size[1] <  155:
            image = image.resize((120,155),Image.ANTIALIAS)
            image.save(f_out)          
        else:
            thumb = ImageOps.fit(image, size, method,0.05,(0.5, 0.5))

1 个答案:

答案 0 :(得分:0)

我怀疑你的PIL版本不好。您的代码完全在您的图像上运行(从您的链接下载)适合我。即:调整框架的大小,没有黑条。我会尝试重新安装(或尝试其他版本)的PIL模块。