-
Notifications
You must be signed in to change notification settings - Fork 1
/
imageHandler.py
49 lines (37 loc) · 1.56 KB
/
imageHandler.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from tkinter.filedialog import askopenfilename
import tkinter as tk
from PIL import Image, ImageTk
class ImageHandler:
def __init__(self, window, sizex=300, sizey=300):
self.window = window
# print("Window object is", window)
self.size = [sizex, sizey]
def openImageDialog(self, window):
self.filename = askopenfilename(filetypes=(("All files", "*.*"),
("JPEG Files", "*.jpg")))
print("Opened File: " + self.filename)
self.showImage(self.filename, erase=True)
# mainWindow.MainWindow.enable_encryption(self.window)
# print("Window object in ImageDialog function is", window)
# print("Filename in image handler is", window.filename)
window.update_filename(self.filename)
def showImage(self, file_name, xi=40, yi=40, erase=False):
image = Image.open(file_name)
try:
image.load()
except IOError:
pass # You can always log it to logger
if erase:
print("In erase func")
im_blank = Image.open("blank.png")
im_blank.load()
im_blank.thumbnail([850, 800], Image.ANTIALIAS)
render2 = ImageTk.PhotoImage(im_blank)
img_2 = tk.Label(self.window, image=render2)
img_2.image = render2
img_2.place(x=0, y=0)
image.thumbnail(self.size, Image.ANTIALIAS)
render = ImageTk.PhotoImage(image)
img = tk.Label(self.window, image=render)
img.image = render
img.place(x=xi, y=yi)