本帖最后由 hfol85 于 2024-12-23 09:04 编辑
1、一个python借助AI辅助写的可批量处理图片的工具:https://www.52pojie.cn/thread-1993259-1-1.html
2、这个小工具可以将几张图片按上下结构拼接为一个图片。
[Python] 纯文本查看 复制代码 import os
from PIL import Image
import random
from tkinter import Tk
from tkinter.filedialog import askopenfilenames, asksaveasfilename
def combine_images_randomly():
# 隐藏Tkinter主窗口
root = Tk()
root.withdraw()
# 弹出文件选择对话框,可多选图片文件
image_files = askopenfilenames(title="选择图片文件", filetypes=[("Image Files", "*.jpg;*.png;*.jpeg")])
if not image_files:
print("没有选择任何图片文件")
return
# 将元组形式的文件路径转换为列表
image_files = list(image_files)
# 加载所有图片
images = [Image.open(img_file) for img_file in image_files]
# 计算拼接后图片的尺寸(简单以每行最多图片数量来确定布局,这里示例为水平排列,可按需调整)
max_width = max(img.width for img in images)
total_height = sum(img.height for img in images)
new_image = Image.new('RGB', (max_width, total_height))
# 随机排列图片的纵坐标位置
y_offset = 0
random.shuffle(images)
for img in images:
new_image.paste(img, (0, y_offset))
y_offset += img.height
# 弹出保存对话框,让用户选择保存位置和文件名
output_path = asksaveasfilename(title="保存拼接后的图片", defaultextension=".jpg", filetypes=[("JPEG Image", "*.jpg")])
if output_path:
new_image.save(output_path)
print(f"图片已成功拼接并保存到 {output_path}")
else:
print("未选择保存位置,图片未保存")
if __name__ == "__main__":
combine_images_randomly()
|