Added Image Viewer

This commit is contained in:
Jordon Brooks 2016-05-10 21:08:39 +01:00
parent e8d258876f
commit afccf17ecb
7 changed files with 146 additions and 44 deletions

68
Programs/imageViewer.py Normal file
View file

@ -0,0 +1,68 @@
from tkinter import *
from tkinter.filedialog import askopenfilename
from PIL import Image
import gc
Canvas.image = None
class imageViewer:
def fullScreen(self):
try:
if self.max == 0:
self.window.attributes('-fullscreen', True)
self.max = 1
else:
self.window.attributes('-fullscreen', False)
self.max = 0
except:
pass
def openimage(self):
self.picfile = askopenfilename()
if self.picfile:
Canvas.image = PhotoImage(file=self.picfile)
self.canvas.create_image(0, 0, anchor=NW, image=Canvas.image)
self.canvas.configure(self.canvas, scrollregion=(0, 0, Canvas.image.width(), Canvas.image.height()))
def createWidgets(self):
self.menu = Menu(self.window)
self.window.config(menu=self.menu)
self.filemenu = Menu(self.menu)
self.menu.add_cascade(label="File", menu=self.filemenu)
self.filemenu.add_command(label="Open Image", command=self.openimage)
self.filemenu.add_command(label="Fullscreen", command=self.fullScreen)
self.filemenu.add_separator()
self.filemenu.add_command(label="Exit", command=self.window.destroy)
self.yscrollbar = Scrollbar(self.window)
self.yscrollbar.pack(side=RIGHT, fill=Y)
self.xscrollbar = Scrollbar(self.window, orient=HORIZONTAL)
self.xscrollbar.pack(side=BOTTOM, fill=X)
self.canvas = Canvas(self.window, width=self.canvas_width, height=self.canvas_height,
yscrollcommand=self.yscrollbar.set,
xscrollcommand=self.xscrollbar.set)
# button = Button(root,text="Open",command=openimage)
# button.pack(side=BOTTOM)
self.canvas.pack(side=TOP, expand=YES, fill=BOTH)
self.yscrollbar.config(command=self.canvas.yview)
self.xscrollbar.config(command=self.canvas.xview)
def createWindow(self):
self.window = Toplevel(self.master)
self.window.title("Image Viewer")
# self.window.config(bg="white")
self.createWidgets()
self.window.attributes('-fullscreen', False)
self.max = 0
self.window.mainloop()
def __init__(self, master):
self.master = master
self.canvas_width = 800
self.canvas_height = 600
self.createWindow()