Merge remote-tracking branch 'origin/app_dev'

pull/25/head
Shawn-Shan 2020-07-22 16:22:38 -05:00
commit ef85fd5c53
2 zmienionych plików z 57 dodań i 11 usunięć

Wyświetl plik

@ -3,9 +3,10 @@ Simple GUI to facilitate interaction with Fawkes.
'''
import threading
from tkinter import Tk, BOTH, StringVar
from tkinter import Tk, BOTH, StringVar, Canvas, PhotoImage, CENTER, NW
from tkinter.filedialog import askopenfilenames
from tkinter.ttk import Frame, Label, Button
from PIL import ImageTk, Image
import fawkes.protection
@ -15,51 +16,96 @@ class UI(Frame):
super().__init__()
self.my_fawkes = fawkes.protection.Fawkes("high_extract", '0', 1)
self.var = StringVar()
self.var.set('Initial')
self.var.set('Select images to cloak!')
self.img_paths = './imgs'
self.initUI()
def initUI(self):
self.master.title("This is a Window")
self.master.title("Fawkes")
self.master.configure(bg='white')
self.pack(fill=BOTH, expand=1)
# fawkes image
canvas = Canvas(self, width=110, height=150)
orig = Image.open("fawkes_mask.jpg")
resized = orig.resize((110,150), Image.ANTIALIAS)
img = ImageTk.PhotoImage(resized)
canvas.create_image(0,0, image=img, anchor=NW)
canvas.image = img
canvas.pack()
# open button
btn_Open = Button(self,
text='open img directory',
width=30,
text='Choose image(s) to cloak',
width=25,
command=self.select_path)
btn_Open.pack()
# run button
btn_Run = Button(self,
text='run the code',
width=3,
text='Cloak images',
width=25,
command=lambda: thread_it(self.my_fawkes.run_protection, self.img_paths))
btn_Run.pack()
# # save button
# btn_Save = Button(self,
# text='Save cloaked image(s)',
# width=25,
# command=self.save_images)
# btn_Save.pack()
# Progress info
Label_Show = Label(self,
textvariable=self.var,
font=('Arial', 13), width=50)
Label_Show.configure(anchor="center")
Label_Show.pack()
def select_path(self):
self.img_paths = askopenfilenames(filetypes=[('image', "*.gif *.jpg *.png")])
self.var.set('the paths have been set')
self.var.set('Images chosen.')
def save_images(self):
print(self.img_paths)
root = Tk()
root.title('window')
root.geometry('600x500')
root.geometry('200x230')
app = UI()
def main():
root.configure(bg='white')
root.mainloop()
def thread_it(func, *args):
app.var.set('cloak in process')
app.var.set('Cloaking in progress.')
t = threading.Thread(target=func, args=args)
t.setDaemon(True)
t.start()
while t.is_alive():
pass
app.var.set('Cloaking finished.')
def thread_test():
app.var.set('Cloaking in progress.')
def func(test):
print(test)
args = "testing"
t = threading.Thread(target=func, args=args)
t.setDaemon(True)
t.start()
while t.is_alive():
pass
t.sleep(1)
app.var.set('Cloaking finished.')
if __name__ == '__main__':

BIN
app/fawkes_mask.jpg 100644

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 132 KiB