Изменение размера изображения в PIL в Tkinter

В настоящее время я использую PIL для отображения изображений в Tkinter. Я хотел бы временно изменить размер этих изображений, чтобы их можно было просматривать более легко. Как я могу это сделать?

Snippet:

self.pw.pic = ImageTk.PhotoImage(Image.open(self.pic_file)) self.pw.pic_label = TK.Label(self.pw , image=self.pw.pic,borderwidth=0) self.pw.pic_label.grid(column=0,row=0) 

3 Solutions collect form web for “Изменение размера изображения в PIL в Tkinter”

Вот что я делаю, и это работает очень хорошо …

 image = Image.open(Image_Location) image = image.resize((250, 250), Image.ANTIALIAS) #The (250, 250) is (height, width) self.pw.pic = ImageTk.PhotoImage(image) 

Вот вы идите 🙂

РЕДАКТИРОВАТЬ:

Вот мой оператор импорта:

 from Tkinter import * import tkFont import Image #This is the PIL Image library 

И вот полный рабочий код, который я адаптировал из этого примера:

 im_temp = Image.open(Path-To-Photo) im_temp = im_temp.resize((250, 250), Image.ANTIALIAS) im_temp.save("ArtWrk.ppm", "ppm") ## The only reason I included this was to convert #The image into a format that Tkinter woulden't complain about self.photo = PhotoImage(file="artwrk.ppm")##Open the image as a tkinter.PhotoImage class() self.Artwork.destroy() #erase the last drawn picture (in the program the picture I used was changing) self.Artwork = Label(self.frame, image=self.photo) #Sets the image too the label self.Artwork.photo = self.photo ##Make the image actually display (If I dont include this it won't display an image) self.Artwork.pack() ##repack the image 

И вот документы класса PhotoImage: http://www.pythonware.com/library/tkinter/introduction/photoimage.htm

Примечание … После проверки документации на pythonware в классе PhotoImage от ImageTK (что очень редко) я обнаруживаю, что если ваш фрагмент работает, чем это необходимо, и пока вы импортируете библиотеку PIL «Изображение», библиотеку PIL «ImageTK» и что как PIL, так и tkinter являются актуальными. С другой стороны, я не могу даже найти модуль модуля ImageTK для жизни меня. Не могли бы вы разместить свой импорт?

если вы не хотите его сохранять, вы можете попробовать:

 from Tkinter import * import ImageTk import Image root = Tk() same = True #n can't be zero, recommend 0.25-4 n=2 path = "../img/Stalin.jpeg" image = Image.open(path) [imageSizeWidth, imageSizeHeight] = image.size newImageSizeWidth = int(imageSizeWidth*n) if same: newImageSizeHeight = int(imageSizeHeight*n) else: newImageSizeHeight = int(imageSizeHeight/n) image = image.resize((newImageSizeWidth, newImageSizeHeight), Image.ANTIALIAS) img = ImageTk.PhotoImage(image) Canvas1 = Canvas(root) Canvas1.create_image(newImageSizeWidth/2,newImageSizeHeight/2,image = img) Canvas1.config(bg="blue",width = newImageSizeWidth, height = newImageSizeHeight) Canvas1.pack(side=LEFT,expand=True,fill=BOTH) root.mainloop() 

проще всего создать новое изображение на основе оригинала, а затем заменить оригинал на большую копию. Для этого у tk-изображения есть метод copy который позволяет масштабировать или подвыражать исходное изображение при создании копии. К сожалению, это позволяет вам увеличивать / подвыбирать по коэффициенту 2.

  • Ошибка при установке модуля python
  • не удалось установить графический инструмент в Windows 7
  • pycairo "ImportError: сбой DLL: указанный модуль не найден." даже после того, как установлены DLL
  • Скриншот Python windows 7 без PIL
  • Сценарий Python (reindent.py) не работает как исполняемый файл в Windows7 из powershell / cmd
  • Установка файла pythonstartup
  • Как установить PyOpenSSL на 64-разрядную версию Windows 7?
  • Попытка использовать open (имя файла, 'w') дает IOError: Нет такого файла или каталога:
  • Как показать результат скрипта python в консоли при запуске из редактора ST?
  • Проблема открытия ключа реестра в Windows 7
  • Создайте окно tkinter python без кнопки X (закрыть)
  •  
    Interesting Posts for Van-Lav

    Нарезка реверсирования Python

    regex python: сопоставление строки с одним экземпляром символа

    Django (trunk) и основанные на классе общие представления: исходные данные одной формы появляются в другой

    Печать строки печатает 'u' перед строкой в ​​Python?

    Повторное использование httplib.HTTPConnection в python 2.7

    Heroku – Нет веб-процесса

    PyMySQL разные обновления в одном запросе?

    Регулярное выражение python заменяет две ситуации одной командой

    ImportError: нет модуля с именем array_import —– scipy

    Как мы можем установить переменную таким образом, чтобы ее можно было использовать в другом наборе тестов?

    Как получить дерево зависимостей с помощью spaCy?

    Обработка различных результатов из parsedatetime

    Каков самый простой способ получить текущее время GMT в формате timestamp Unix?

    Сброс Python на веб-страницах javascript не удался только для страниц https

    Вставить элемент в отсортированный по регистру список в Python

    Python - лучший язык программирования в мире.