欢迎光临
我们一直在努力

政采云 图片无损放大工具

政采云上传图片大小要求最小为800*800,每次上传商品都是心酸的过程哈, 随便瞎写了一个,有需要自取,自己日常使用
——————————————————–
代码如下:
import tkinter as tk
from tkinter import ttk, filedialog, messagebox
from PIL import Image
import os
from tkinterdnd2 import DND_FILES, TkinterDnD

class ImageUpscalerApp:
def __init__(self, root):
self.root = root
self.root.title(“蓝星数码政采云 – 图片无损放大软件”)

# 设置一个足够大的初始窗口尺寸,比如 900×700
self.root.geometry(“900×700″)

self.file_paths = []
self.output_dir = tk.StringVar()

self.setup_ui()

def setup_ui(self):
main_frame = ttk.Frame(self.root, padding=”20″)
main_frame.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))

# 文件选择区域
file_frame = ttk.LabelFrame(main_frame, text=”文件选择”, padding=”10″)
file_frame.grid(row=0, column=0, columnspan=3, sticky=(tk.W, tk.E, tk.N, tk.S), pady=(0, 10))

self.file_listbox = tk.Listbox(file_frame, width=100, height=18)
self.file_listbox.grid(row=0, column=0, columnspan=3, sticky=(tk.W, tk.E, tk.N, tk.S))

button_frame = ttk.Frame(file_frame)
button_frame.grid(row=1, column=0, columnspan=3, pady=(10, 0))

ttk.Button(button_frame, text=”选择文件”, command=self.select_files).grid(row=0, column=0, padx=(0, 10))
ttk.Button(button_frame, text=”清除列表”, command=self.clear_files).grid(row=0, column=1)

# 拖拽上传区域
drop_frame = ttk.LabelFrame(main_frame, text=”拖拽文件到此处上传”, padding=”10″)
drop_frame.grid(row=1, column=0, columnspan=3, sticky=(tk.W, tk.E, tk.N, tk.S), pady=(0, 10))

self.drop_label = ttk.Label(drop_frame, text=”拖放文件到这里”, font=(“Arial”, 12))
self.drop_label.grid(row=0, column=0, padx=40, pady=30)

# 输出目录选择区域
output_frame = ttk.LabelFrame(main_frame, text=”输出目录”, padding=”10″)
output_frame.grid(row=2, column=0, columnspan=3, sticky=(tk.W, tk.E, tk.N, tk.S), pady=(0, 10))

ttk.Entry(output_frame, textvariable=self.output_dir, width=90).grid(row=0, column=0, padx=(0, 10))
ttk.Button(output_frame, text=”浏览”, command=self.select_output_dir).grid(row=0, column=1)

# 开始处理按钮
ttk.Button(main_frame, text=”开始处理”, command=self.process_images).grid(row=3, column=0, columnspan=3, pady=(10, 0))

self.root.drop_target_register(DND_FILES)
self.root.dnd_bind(‘<<Drop>>’, self.on_drop)

def select_files(self):
files = filedialog.askopenfilenames(
title=”选择图片文件”,
filetypes=[(“图片文件”, “*.jpg *.jpeg *.png *.bmp *.gif”)]
)
if files:
self.file_paths.extend(files)
self.update_file_list()

def clear_files(self):
self.file_paths.clear()
self.update_file_list()

def update_file_list(self):
self.file_listbox.delete(0, tk.END)
for file in self.file_paths:
self.file_listbox.insert(tk.END, os.path.basename(file))

def on_drop(self, event):
files = self.root.tk.splitlist(event.data)
image_files = [f for f in files if f.lower().endswith((‘.jpg’, ‘.jpeg’, ‘.png’, ‘.bmp’, ‘.gif’))]
if image_files:
self.file_paths.extend(image_files)
self.update_file_list()

def select_output_dir(self):
dir_path = filedialog.askdirectory(title=”选择输出目录”)
if dir_path:
self.output_dir.set(dir_path)

def process_images(self):
if not self.file_paths:
messagebox.showerror(“错误”, “请先选择图片文件”)
return

output_dir = self.output_dir.get()
if not output_dir:
messagebox.showerror(“错误”, “请选择输出目录”)
return

try:
for file_path in self.file_paths:
self.upscale_image(file_path, output_dir)
messagebox.showinfo(“成功”, “所有图片处理完成!”)
except Exception as e:
messagebox.showerror(“错误”, f”处理图片时出错:{str(e)}”)

def upscale_image(self, input_path, output_dir):
with Image.open(input_path) as img:
original_width, original_height = img.size
target_width = max(800, original_width)
target_height = max(800, original_height)
if original_width < target_width or original_height < target_height:
img = img.resize((target_width, target_height), Image.LANCZOS)
output_path = os.path.join(output_dir, os.path.basename(input_path))
img.save(output_path, quality=95)

def main():
root = TkinterDnD.Tk()
app = ImageUpscalerApp(root)
root.mainloop()

if __name__ == “__main__”:
main()
——————————
通过网盘分享的文件:图片无损放大工具.rar
链接: https://pan.baidu.com/s/1UvrYRYNlXqxjuvbd-5Rs7g?pwd=zb93 提取码: zb93

成品上面的连接, 打开的效果如图
政采云 图片无损放大工具

相关文件下载地址
本站解压密码:www.077u.cn
赞(0)

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看 | 关于我们


版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《政采云 图片无损放大工具》
文章链接:http://www.077u.cn/soft/work/6571.html
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。
分享到

评论 抢沙发

登录

找回密码

注册