создание большого изображения из маленького в Tkinter

#python-3.x

#python-3.x

Вопрос:

Я искал в сети примеры галереи изображений, построенной как на веб-страницах по принципу лайтбокса или fancybox, так и для создания на python. к сожалению, я ничего не нашел. В результате я создал этот код, который работает хорошо, но я должен для каждого изображения создать соответствующий ему верхний уровень. что делает код немного тяжелым. вот код на python 3.6 :

 #!/usr/bin/python3
# -*- coding: utf-8 -*-

from tkinter import *

root=Tk()

def make_big_image1() :
    window_image=Toplevel(root)
    window_image.minsize(width=500, height=350)
    window_image.title("big image!")
    img=PhotoImage(file='images/big_images/big_image1.png')
    label = Label(window_image,image=img)
    label.image = img 
    label.pack()

def make_big_image2() :
    window_image=Toplevel(root)
    window_image.minsize(width=500, height=350)
    window_image.title("big image!")
    img=PhotoImage(file='images/big_images/big_image2.png')
    label = Label(window_image,image=img)
    label.image = img 
    label.pack()

def make_big_image3() :
    window_image=Toplevel(root)
    window_image.minsize(width=500, height=350)
    window_image.title("big image!")
    img=PhotoImage(file='images/big_images/big_image3.png')
    label = Label(window_image,image=img)
    label.image = img 
    label.pack()

small_img1=PhotoImage(file='images/small_images/small_image1.png')
small_img2=PhotoImage(file='images/small_images/small_image2.png')
small_img3=PhotoImage(file='images/small_images/small_image3.png')

bt1=Button(root, image=small_img1, command =make_big_image1)
bt1.pack()
bt2=Button(root, image=small_img2, command =make_big_image2)
bt2.pack()
bt3=Button(root, image=small_img3, command =make_big_image3)
bt3.pack()

lb=Label(root,text='click on image to make big image')
lb.pack()

root.mainloop()
 

Мне нужна помощь, чтобы улучшить этот код или следовать другой альтернативе спасибо

Комментарии:

1. «Мне нужна помощь для улучшения кода» слишком широкое и расплывчатое. С чем конкретно вам нужна помощь?

2. вместо нескольких функций в зависимости от количества изображений я хотел бы создать единую функцию для увеличения маленьких изображений до больших изображений