From a43189e31d518cf9aabc55b9c7b2a92fe56246eb Mon Sep 17 00:00:00 2001 From: Minh Pham Date: Wed, 15 Mar 2023 19:25:22 -0400 Subject: [PATCH] save functionality --- .idea/GUI.iml | 2 +- .idea/misc.xml | 4 ++-- File opening/file_opening.py | 22 ++++++++++++++-------- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/.idea/GUI.iml b/.idea/GUI.iml index d0876a7..8388dbc 100644 --- a/.idea/GUI.iml +++ b/.idea/GUI.iml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index daaac24..d56657a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,4 @@ - - + + \ No newline at end of file diff --git a/File opening/file_opening.py b/File opening/file_opening.py index 5e5bf15..3e69185 100644 --- a/File opening/file_opening.py +++ b/File opening/file_opening.py @@ -6,29 +6,35 @@ class FileOpening(tk.Frame): def __init__(self, master=None): super().__init__(master) - self.button = tk.Button(self, text="Choose file to upload", command=self.browse_file) + self.select_button = tk.Button(self, text="Choose file to upload", command=self.browse_file) + self.save_button = tk.Button(self, text="Save Image", command=self.save_image) self.label_image = tk.Label(self) self.master = master self.pack() self.create_widget() def create_widget(self): - self.button.pack(side="top") + self.select_button.pack(side="top") + self.save_button.pack(side="top") self.label_image.pack(side="top") def browse_file(self): filetypes = (("JPEG files", "*.jpg"), ("PNG files", "*.png"), ("All files", "*.*")) filepath = filedialog.askopenfilename(title="Select an image file", filetypes=filetypes) if filepath: - image = Image.open(filepath) - photo = ImageTk.PhotoImage(image) - self.label_image.configure(image=photo) - self.label_image.image = photo + self.image = Image.open(filepath) + self.photo = ImageTk.PhotoImage(self.image) + self.label_image.configure(image=self.photo) + self.label_image.image = self.photo + + def save_image(self): + if hasattr(self, 'label_image'): + save_path = filedialog.asksaveasfilename(defaultextension='.jpg') + if save_path: + self.image.save(save_path) root = tk.Tk() root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight())) win = FileOpening(master=root) win.mainloop() - -