Рейтинг  

Яндекс.Метрика
Яндекс цитирования
 

   

Статистика  

Пользователи
7
Материалы
592
Кол-во просмотров материалов
2825197
   

Использование библиотеки стандартных функций TKinter для изменения размера картинки:

Можно изменить размер изображения (PhotoImage), используя методы zoom() и subsample(). Оба метода возвращают новый объект изображения PhotoImage.

from tkinter import *
root = Tk()     #you must create an instance of Tk() first

image = PhotoImage(file='path/to/image.gif')
larger_image = image.zoom(2, 2)         #create a new image twice as large as the original
smaller_image = image.subsample(2, 2)   #create a new image half as large as the original

Однако оба этих метода могут принимать только целочисленные значения в качестве аргументов, поэтому функциональность ограничена.
Можно масштабировать по десятичным значениям, но это медленно и приводит к потере качества. Приведенный ниже код демонстрирует масштабирование в 1,5 раза:

new_image = image.zoom(3, 3)            #this new image is 3x the original
new_image = new_image.subsample(2, 2)   #halve the size, it is now 1.5x the original


Отразить картинку зеркально по горизонтали

new_image = image.zoom(-3, 3)
new_image = image.subsample(-3, 3)


Использование библиотеки Pillow (PIL) для изменения размера картинки:

from PIL import Image

img = Image.open("flower.png")
img = img.resize((34, 26), Image.ANTIALIAS)


Взято со StackOverflow: How to resize an image using tkinter?

   
   

Login Form