网站、APP、小程序、软件、硬件定制开发,联系QQ:99605319

程序实现功能

 复制代码 隐藏代码
    1、编写程序的初衷是为了解决工作中为了上传指定大小图片的烦恼,如:文件上传场景中需要测试10M的图片等。     2、在使用中发现也可以方便隐藏本地的某些文件,把这些文件打包成压缩包在和图片合并展示的就是图片不是对应的文件。

使用说明

 复制代码 隐藏代码
    1、打包程序支持Windows系统,如果是Mac或linux系统可以自动打包或安装python环境运行;     2、使用方式,双击运行“png_zip.exe”程序即可;     3、保存路径和合成的图片名称可以修改,程序设置了默认值便于查找;     4、关于还原文件,可以把生成的图片后缀 .jpg 修改为 .zip 或 .rar,在打开对应压缩包即可;

打包功能说明

 复制代码 隐藏代码
    1、因为程序是使用python编写的,如果需要打包在不同的操作系统上运行,可以根据个人喜好选择不同的打包方式;     2、pyhton常用的打包工具有auto-py-to-exe、Nuitka、PyInstaller、Pynsist、cx_freeze、buildozer、py2app、py2exe等;     3、我这边使用的是Nuitka打包方式,具体打包命令:             nuitka --standalone --onefile --follow-imports --windows-icon-from-ico=wjzh32.ico --windows-disable-console --enable-plugin=tk-inter png_zip.py     4、使用pyinstaller打包方式,参考名称:             pyinstaller -i wjzh32.ico -F -w png_zip.py

核心代码

 复制代码 隐藏代码
    def start_processing(self):         """输入验证"""        required = [             (self.image_path, "未选择图片文件"),             (self.zip_path, "未选择压缩包"),             (self.output_name, "未设置输出文件名"),             (self.save_dir, "未设置保存路径")         ]         for var, msg in required:             if not var.get():                 messagebox.showwarning("错误", msg)                 return        # 构建输出路径        if self.output_name.get():             output_path = os.path.join(self.save_dir.get(), f"{self.output_name.get()}.jpg")         else:             output_path = os.path.join(self.save_dir.get(), f"{int(time())}.jpg")         print(f"正在生成预览图:{output_path}")         print(f"图片路径:{self.image_path.get()}")         print(f"压缩包路径:{self.zip_path.get()}")         print(f"预览图输出目录:{self.save_dir.get()}\n")         try:             # 读取二进制内容并拼接            with open(self.image_path.get(), "rb") as f_img, open(self.zip_path.get(), "rb") as f_zip:                 img_data = f_img.read()                 zip_data = f_zip.read()                 merged_data = img_data + zip_data             # 写入新文件(注意:这会生成一个无效的 PNG 文件!)            with open(os.path.join(self.save_dir.get(), output_path), "wb") as f_out:                 f_out.write(merged_data)             messagebox.showinfo("处理成功", f"预览图已生成:{output_path}")         except Exception as e:             print(f"错误:{str(e)}")             messagebox.showerror("错误", f"处理失败:{str(e)}")

评论(0条)

请登录后评论
ziyuan

ziyuan Rank: 16

0

0

0

( 此人很懒并没有留下什么~~ )

首页

栏目

搜索

会员