“切割您的图片:将您的照片切割成四个完美的部分!“

目录

简介:

源代码:

源代码说明:

效果如下所示:


简介:

        在midjourney中通过描述生成图片,并将图片保存到文件夹下,然后使用photoshop切割成等大的四份。听起来就很麻烦,以下有一种方法,使用python来编写一段代码轻松实现切割功能。

 

源代码:

import tkinter as tk
from tkinter import filedialog
from PIL import Image

class ImageSplitter:
    def __init__(self, master):
        self.master = master
        self.master.title("Image Splitter")

        self.image = None
        self.image_paths = None
        self.image_size = None

        self.file_path_label = tk.Label(self.master, text="No file selected")
        self.file_path_label.pack()

        self.select_button = tk.Button(self.master, text="Select Image", command=self.select_image)
        self.select_button.pack()

        self.split_button = tk.Button(self.master, text="Split Image", command=self.split_image, state=tk.DISABLED)
        self.split_button.pack()

    def select_image(self):
        self.image_paths = filedialog.askopenfilenames(filetypes=[("Images", "*.jpg;*.jpeg;*.png;*.bmp")])
        if self.image_paths:
            self.file_path_label.config(text="\n".join(self.image_paths))
            self.image = Image.open(self.image_paths[0])
            self.image_size = self.image.size
            self.split_button.config(state=tk.NORMAL)

    def split_image(self):
        width, height = self.image_size
        new_width = int(width / 2)
        new_height = int(height / 2)

        # Crop and save the four images
        for i in range(4):
            x = (i % 2) * new_width
            y = (i // 2) * new_height
            cropped_image = self.image.crop((x, y, x + new_width, y + new_height))
            cropped_image.save(f"image_{i + 1}.png")

        self.file_path_label.config(text="Image split into 4 parts!")

root = tk.Tk()
app = ImageSplitter(root)
root.mainloop()

源代码说明:

        该程序使用tk.filedialog.askopenfilename函数打开一个对话框,让用户选择一张图片文件。然后,它使用Pillow库中的ImageImageTk模块来打开图片文件并创建Tkinter图像对象。接着,它计算每个分割后的图片的大小,并使用crop函数来从原始图像中提取四个部分。最后,程序将每个分割后的图像显示在Canvas上。

效果如下所示:

1)运行程序:

2)选择需要切割的图像: 

 

3)按“split Image”按钮: 

 

 4)以下是切好的四图:

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值