Added Image Viewer
This commit is contained in:
parent
e8d258876f
commit
afccf17ecb
7 changed files with 146 additions and 44 deletions
68
Programs/imageViewer.py
Normal file
68
Programs/imageViewer.py
Normal 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()
|
Reference in a new issue