summaryrefslogtreecommitdiff
path: root/app/image_demos
diff options
context:
space:
mode:
authorchzhang <zch921005@126.com>2022-11-19 19:22:57 +0800
committerchzhang <zch921005@126.com>2022-11-19 19:22:57 +0800
commit1dc741344c41d99be494a2a2f842baf7f0a45702 (patch)
treee45aaa315c43c5361d7caac5f1607028b411f2e6 /app/image_demos
parent8871692049e6139a50b3ac03b9b8555d27d5b022 (diff)
图像九宫格
Diffstat (limited to 'app/image_demos')
-rw-r--r--app/image_demos/splits.py36
-rw-r--r--app/image_demos/test.pngbin0 -> 425922 bytes
2 files changed, 36 insertions, 0 deletions
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
diff --git a/app/image_demos/test.png b/app/image_demos/test.png
new file mode 100644
index 0000000..16b1eb2
--- /dev/null
+++ b/app/image_demos/test.png
Binary files differ