繁体   English   中英

如何修改我的Python图像缩放器代码以执行此操作?

[英]How do I modify my Python image resizer code to do this?

当我调整尺寸小于所需大小的图片时,我不希望图像重新调整大小,而是要居中,并在其周围使用白色填充。

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

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

我当前的代码如下。

我不知道为什么if height=None: height=width ...我做那只是因为它在我之前做过才起作用。

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

不确定,此代码中可能包含许多错误。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM