In Tkinter angezeigtes Bild verkleinern

Fragen zu Tkinter.
Antworten
TomThimson
User
Beiträge: 3
Registriert: Montag 10. Dezember 2018, 09:33

Hallo, es geht um das Programm unten. Ich möchte ein Tiff-Image aufrufen und in einem Tkinter Window anzeigen lassen.
Das Bild wird zwar angezeigt, jedoch wird es durch width und height nur zugeschnitten, an der eigentlichen Bildgröße ändert sich
leider garnichts...gibt es eine möglichkeit ein Bild einfach zu skallieren ohne es zu schneiden?


from tkinter import *
from PIL import Image, ImageTk

im1 = image.tif

def show_image1():
icon_size = Label()
icon = ImageTk.PhotoImage(Image.open(im1))
icon_size.image = icon
icon_size.configure(image=icon)
icon_size.place_configure(x=0, y=0, width=400, height=200)

show_image1()

mainloop()
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

PIL kann doch Bilder resizen. Musst du halt machen. http://pillow.readthedocs.org/en/3.1.x/ ... Image.html
TomThimson
User
Beiträge: 3
Registriert: Montag 10. Dezember 2018, 09:33

AttributeError: module 'PIL.Image' has no attribute 'resize'

alles schon versucht, bekomme nur immer neue Fehlermeldungen...
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist eine Methode auf dem Image Objekt. Das du mit Image.open erzeugst.

icon = ImageTk.PhotoImage(Image.open(im1).resize((40p, 400))
TomThimson
User
Beiträge: 3
Registriert: Montag 10. Dezember 2018, 09:33

ah okay, jetzt funktioniert es, verstehe nur nicht warum um die 400,400 doppelklammern müssen.
Sorry wenn ich so blöde fragen stelle, bin noch Neuling in python und arbeite mich erst ein
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Hast du dir die von mir verlinkte Dokumentation mal angeschaut? Da steht das: "size – The requested size in pixels, as a 2-tuple: (width, height)."
Antworten