吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1920|回复: 40
上一主题 下一主题
收起左侧

[原创工具] 自动把图片裁剪正方形工具(两边补白)

[复制链接]
跳转到指定楼层
楼主
王者霸主 发表于 2024-10-24 11:42 回帖奖励
本帖最后由 王者霸主 于 2024-10-27 16:25 编辑




代码如下:

[Python] 纯文本查看 复制代码
import os
from PIL import Image
import tkinter as tk
from tkinter import filedialog
from tkinterdnd2 import DND_FILES, TkinterDnD

def is_valid_image(file_path):
    if not os.path.isfile(file_path):
        return False
    extension = os.path.splitext(file_path)[1].lower()
    if extension not in ['.jpg', '.jpeg', '.png']:
        return False
    try:
        with open(file_path, 'rb') as f:
            img = Image.open(f)
            img.verify()
        return True
    except (OSError, IOError) as e:
        return False

def process_image(image_path):
    if is_valid_image(image_path):
        img = Image.open(image_path)
        width, height = img.size
        target_size = max(width, height)
        new_img = Image.new('RGB', (target_size, target_size), (255, 255, 255))
        if width > height:
            padding = (target_size - height) // 2
            new_img.paste(img, (0, padding))
        else:
            padding = (target_size - width) // 2
            new_img.paste(img, (padding, 0))
        new_img.save(image_path)
        print(f"已处理图片:{image_path}")
    else:
        print("拖入的不是有效的图片文件。")

def on_drop(event):
    file_path = event.data
    print(f"Received file path: {file_path}")
    if isinstance(file_path, str):
        process_image(file_path)
    else:
        for path in file_path:
            process_image(path)

root = TkinterDnD.Tk()
root.title("图片处理工具")

label = tk.Label(root, text="将图片拖放到此处")
label.pack(padx=20, pady=20)

root.drop_target_register(DND_FILES)
root.dnd_bind('<<Drop>>', on_drop)

root.mainloop()


只需拖进图片就可以自动秒裁剪,注意路径不能带中文

同时做了打包,方便没环境的电脑直接用:

通过度网盘分享的文件:build.zip 链接:
https://pan.baidu.com/s/1fhPu03vMl3s0tyROWJjtTA   提取码:vn29

通过蓝奏盘分享的文件:build.zip 链接:
https://wwuu.lanzouo.com/iG4iU2dihpof

免费评分

参与人数 8吾爱币 +13 热心值 +6 收起 理由
viconly + 1 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
sonc0345 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ljcqm750607 + 1 + 1 我很赞同!
yanglinman + 1 谢谢@Thanks!
powehi + 1 + 1 谢谢@Thanks!
yiwenji + 1 谢谢@Thanks!
melooon + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
42328669425 发表于 2024-10-24 14:24
https://4275.com/jhuxhv
免登陆下载分流

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
powehi + 1 + 1 谢谢@Thanks!
zylz9941 + 1 谢谢@Thanks!

查看全部评分

推荐
gongxiaowei 发表于 2024-10-24 12:09
作者链接后面不知道加了啥,去掉就好了
链接:https://pan.baidu.com/s/1fhPu03vMl3s0tyROWJjtTA
提取码:vn29
4#
RenJiu 发表于 2024-10-24 11:53
5#
hechenxiao 发表于 2024-10-24 11:58
网盘打不开啊
6#
makoto23 发表于 2024-10-24 12:03
有蓝奏盘吗?
7#
zsf123 发表于 2024-10-24 12:14
完了,没度盘
8#
CoinsBtc 发表于 2024-10-24 14:05
感谢大佬的分享!
9#
gorelo 发表于 2024-10-24 14:21
好用的软件,支持一下,下载了
10#
辰城 发表于 2024-10-24 15:11

完了,没度盘
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-10-30 08:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表