簡體   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