如何修改Python图像大小调整器代码来实现这一点?

如何修改Python图像大小调整器代码来实现这一点?,python,image,resize,python-imaging-library,Python,Image,Resize,Python Imaging Library,当我调整图片的大小时,如果图片比预期的小,我希望图片不会被调整大小…而是在中间,周围有白色的填充物 假设我有一个50x50的图标。但我想将其调整为100x100。如果我把它传递给这个函数,我希望它返回同一个居中的图标,每边用白色填充25个像素 当然,我希望它可以处理任何宽度/高度的图像,而不仅仅是上面示例中的正方形 我现在的代码如下 如果高度=无:高度=宽度,我不知道我为什么这么做。我想这只是因为我以前做的时候它工作正常 def create_thumbnail(f, width=200, he

当我调整图片的大小时,如果图片比预期的小,我希望图片不会被调整大小…而是在中间,周围有白色的填充物

假设我有一个50x50的图标。但我想将其调整为100x100。如果我把它传递给这个函数,我希望它返回同一个居中的图标,每边用白色填充25个像素

当然,我希望它可以处理任何宽度/高度的图像,而不仅仅是上面示例中的正方形

我现在的代码如下

如果高度=无:高度=宽度,我不知道我为什么这么做。我想这只是因为我以前做的时候它工作正常

def create_thumbnail(f, width=200, height=None):
    if height==None: height=width
    im = Image.open(StringIO(f))
    imagex = int(im.size[0])
    imagey = int(im.size[1])
    if imagex < width or imagey < height:
        return None
    if im.mode not in ('L', 'RGB', 'RGBA'):
        im = im.convert('RGB')
    im.thumbnail((width, height), Image.ANTIALIAS)
    thumbnail_file = StringIO()
    im.save(thumbnail_file, 'JPEG')
    thumbnail_file.seek(0)
    return thumbnail_file
def create_缩略图(f,宽度=200,高度=None):
如果高度=无:高度=宽度
im=图像打开(StringIO(f))
imagex=int(im.size[0])
imagey=int(im.size[1])
如果imagex<宽度或imagey<高度:
一无所获
如果im.mode不在('L'、'RGB'、'RGBA'):
im=im.convert('RGB')
im.缩略图((宽度、高度)、图像.反别名)
缩略图文件=StringIO()
保存(缩略图文件“JPEG”)
缩略图文件.seek(0)
返回缩略图文件

这段代码可能有很多错误,不确定。

一个选项是创建一个所需大小的空白白色图像,然后在中间绘制现有图像。

一个选项是创建一个所需大小的空白白色图像,如果输入图像较小,则用Image New生成空白图像,然后使用粘贴将图像放置在空白图像的中心,如果输入图像较小,则用图像生成空白图像,然后使用粘贴将图像放置在空白图像的中心。