• Изменение размера изображения в Tkinter, Python?

    @lz961
    получить размеры канвы
    cnv = tk.Cnavas(...) # создали канву
    .....
    w = cnv['width']
    h = cnv['height']


    подогнать изображение под канву
    from PIL import Image
    ......
    image = Image.open(....) # представили изображение в виде объекта PIL.Image
    scaled_image = image.resize((w,h), Image.ANTIALIAS) # растянули/сжали


    нарисовать изображение на канве
    from PIL import ImageTk
    image4canvas = ImageTk.PhotoImage(scaled_image) # представили изображение в виде объекта PIL,
    # с которым умеет работать канва
    cnv.create_image(0, 0, anchor=tk.NW, image=image4canvas) # нарисовали изображение на канве


    Ткинтер, по сути, жуткое извращение, некий интерфейс к функциям для построения графического интерфейса пользователя некоторого изначально мертворождённого языка tcl/tk. Лучший совет по Ткинтеру универсален: не использовать его.
    Ответ написан
    Комментировать