[英]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.