self.image = None self.original = None self.file_path = None
def show_image(self): if self.image: # Resize for display while keeping aspect ratio display_img = self.image.copy() display_img.thumbnail((700, 500)) self.tk_image = ImageTk.PhotoImage(display_img) self.canvas.delete("all") self.canvas.create_image(400, 300, anchor=tk.CENTER, image=self.tk_image) self.canvas.config(scrollregion=self.canvas.bbox("all"))
file_menu = tk.Menu(menubar, tearoff=0) menubar.add_cascade(label="File", menu=file_menu) file_menu.add_command(label="Open", command=self.open_image) file_menu.add_command(label="Save", command=self.save_image) file_menu.add_separator() file_menu.add_command(label="Exit", command=root.quit) photoshop lite version
import tkinter as tk from tkinter import filedialog, messagebox, simpledialog from PIL import Image, ImageTk, ImageFilter, ImageEnhance import os class PhotoshopLite: def (self, root): self.root = root self.root.title("Photoshop Lite - Basic Editor") self.root.geometry("800x600")
def grayscale(self): if self.image: self.image = self.image.convert("L").convert("RGB") self.show_image() simpledialog from PIL import Image
def resize_image(self): if self.image: new_size = simpledialog.askstring("Resize", "Enter new width and height (e.g., 400 300)") if new_size: try: w, h = map(int, new_size.split()) self.image = self.image.resize((w, h)) self.show_image() except: messagebox.showerror("Error", "Invalid size")
Install Pillow ( pip install pillow ).
def blur(self): if self.image: self.image = self.image.filter(ImageFilter.BLUR) self.show_image()
Please wait... it will take a second!