From 1dc741344c41d99be494a2a2f842baf7f0a45702 Mon Sep 17 00:00:00 2001 From: chzhang Date: Sat, 19 Nov 2022 19:22:57 +0800 Subject: =?UTF-8?q?=E5=9B=BE=E5=83=8F=E4=B9=9D=E5=AE=AB=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/image_demos/splits.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 app/image_demos/splits.py (limited to 'app/image_demos/splits.py') diff --git a/app/image_demos/splits.py b/app/image_demos/splits.py new file mode 100644 index 0000000..69fbf3e --- /dev/null +++ b/app/image_demos/splits.py @@ -0,0 +1,36 @@ + +from tkinter import * +from tkinter import filedialog +from PIL import Image, ImageTk +import os + +root = Tk() +root.title('image splits') + +img_name = filedialog.askopenfilename(initialdir='./', + title='please select an image', + filetypes=(('png files', '*.png'), ('jpg files', '*.jpg'))) + +Label(root, text=img_name).grid(row=0, column=1) + +img = Image.open(img_name) +tk_img = ImageTk.PhotoImage(img) + +l1 = Label(root, image=tk_img) +l1.image = tk_img +l1.grid(row=1, column=1) + +width, height = img.size +cell_width = width//3 +cell_height = height//3 + +for r in range(3): + for c in range(3): + cell_image = img.crop((c*cell_width, r*cell_height, (c+1)*cell_width, (r+1)*cell_height)) + cell_image.save('./{}_{}_{}.png'.format(os.path.basename(img_name).split('.')[0], r, c)) + tk_cell_image = ImageTk.PhotoImage(cell_image) + label = Label(root, image=tk_cell_image) + label.image = tk_cell_image + label.grid(row=r+2, column=c) + +root.mainloop() \ No newline at end of file -- cgit v1.2.3