2
0
mirror of https://github.com/Shawn-Shan/fawkes.git synced 2024-12-22 07:09:33 +05:30

Merge remote-tracking branch 'origin/app_dev'

This commit is contained in:
Shawn-Shan 2020-07-22 16:22:38 -05:00
commit ef85fd5c53
2 changed files with 57 additions and 11 deletions

View File

@ -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 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB