Когда я изменяю размер изображения, которое меньше желаемого, я хочу, чтобы размер изображения НЕ менялся ... а вместо этого был в центре, с белым отступом вокруг него.
Итак, допустим, у меня естьзначок 50х50Но я хочу изменить его размер до 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
В этом коде может быть много ошибок, не уверен.