Сжатие изображений без изменения их размеров до указанных c размеров - PullRequest
0 голосов
/ 30 января 2020

В настоящее время я использую код:

photo = Image.open('ImgSource').resize((x,y), Image.ANTIALIAS)
img = ImageTk.PhotoImage(photo)

, где x и y - статичные c размеры, однако моя программа использует несколько разных размеров изображения, и этот код заставляет изображения прямоугольного портрета растягиваться и сжиматься.

У меня есть изображение, представленное на холсте следующим образом:

canvas = tk.Canvas(self, background='grey')
canvas.grid(row=0, rowspan=2, column=1, columnspan=2, sticky=N+S+E+W)
...
canvas.create_image(150,150, image = img, anchor = 'center')

Оставшееся пространство в сетке / окне используется кнопками.

Есть ли способ возможно, уменьшите изображение, чтобы оно поместилось внутри ячейки холста / сетки, при этом сохраняя исходное соотношение сторон? Я очень новичок в python, поэтому извините, если я что-то пропустил или не получил достаточно информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...