Ok so I'm currently writing a simple image viewer and I have enough code to be able to view those images, but the only problem is to view the images you want. You have to put them in the same directory as the script and rename them. I want the user to be able to click something like file-open and then import those images. I'm currently using Tkinter as my Gui and PIL for displaying the images. here is my latest code:
from PIL import Image, ImageTk
from Tkinter import Tk, Label, BOTH
from ttk import Frame, Style
import os
import PIL
import Tkinter
filename = "test.jpg"
filename2 = "test1.jpg"
filename3 = "test2.jpg"
filename4 = "test3.jpg"
basewidth = 300
img = Image.open(filename)
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = img.resize((basewidth, hsize), PIL.Image.ANTIALIAS)
img.save('resize.jpg')
basewidth = 300
img = Image.open(filename2)
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = img.resize((basewidth, hsize), PIL.Image.ANTIALIAS)
img.save('resize2.jpg')
basewidth = 300
img = Image.open(filename4)
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = img.resize((basewidth, hsize), PIL.Image.ANTIALIAS)
img.save('resize4.jpg')
class Example(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Picture")
self.pack(fill=BOTH, expand=1)
Style().configure("TFrame", background="")
image1 = Image.open("resize.jpg")
bardejov = ImageTk.PhotoImage(image1)
label1 = Label(self, image=bardejov)
label1.image = bardejov
label1.place(x=5, y=5)
image2 = Image.open("resize2.jpg")
bardejov = ImageTk.PhotoImage(image2)
label1 = Label(self, image=bardejov)
label1.image = bardejov
label1.place(x=5, y=250)
image3 = Image.open("resize3.jpg")
bardejov = ImageTk.PhotoImage(image3)
label1 = Label(self, image=bardejov)
label1.image = bardejov
label1.place(x= 350, y=5)
image3 = Image.open("resize4.jpg")
bardejov = ImageTk.PhotoImage(image3)
label1 = Label(self, image=bardejov)
label1.image = bardejov
label1.place(x= 350, y=250)
def main():
root = Tk()
root.geometry("660x488")
app = Example(root)
root.mainloop()
if __name__ == '__main__':
main()