【Python】一个简单的小程序,实现批量修改图片格式(附完整代码及程序)

程序下载地址:链接:https://pan.baidu.com/s/1ser7iEMRS54syvwl1cck1Q?pwd=jr66 
提取码:jr66

一、完整代码

如果想要测试代码,记得在使用前先保证已经安装了Python的PIL模块

import os
from tkinter import Tk, Button, messagebox
from PIL import Image

# 检查并创建文件夹
def check_and_create_folders():
    if not os.path.exists('Old_Img'):
        os.makedirs('Old_Img')
    if not os.path.exists('New_Img'):
        os.makedirs('New_Img')

# 清空New_Img文件夹
def clear_new_img_folder():
    file_list = os.listdir('New_Img')
    for file_name in file_list:
        file_path = os.path.join('New_Img', file_name)
        if os.path.isfile(file_path):
            os.remove(file_path)

# 图片格式转换函数
def convert_images(image_format):
    old_img_folder = 'Old_Img'
    new_img_folder = 'New_Img'

    # 获取Old_Img文件夹中的图片文件列表
    file_list = os.listdir(old_img_folder)

    for file_name in file_list:
        file_path = os.path.join(old_img_folder, file_name)
        if os.path.isfile(file_path):
            # 打开图片
            image = Image.open(file_path)

            # 构建新的文件名
            new_file_name = os.path.splitext(file_name)[0] + '.' + image_format

            # 保存转换后的图片
            new_file_path = os.path.join(new_img_folder, new_file_name)
            image.save(new_file_path, format=image_format)

    messagebox.showinfo("提示", "转换完成!")

# 创建主窗口
def create_main_window():
    root = Tk()
    root.title("请选择要转换的格式")
    root.geometry('300x200')

    # 清空New_Img文件夹并转换图片
    def convert_btn_click(image_format):
        clear_new_img_folder()
        convert_images(image_format)

    # 创建按钮并绑定事件
    btn_formats = ['jpg', 'png', 'gif']
    for i, format in enumerate(btn_formats):
        btn = Button(root, text=format, command=lambda f=format: convert_btn_click(f))
        btn.place(x=20 + 100 * i, y=80)

    root.mainloop()

# 主程序入口
if __name__ == '__main__':
    check_and_create_folders()
    create_main_window()

二、使用教程

步骤 1:准备图片文件:将你要转换的图片文件复制或剪切到程序所在目录下的"Old_Img"文件夹中。请确保只包含图片文件在该文件夹中,其他文件将被忽略。

步骤 2:运行程序:此时程序会自动创建一个名为“New_Img”的文件用于存储转换后的图片

 

步骤 3:选择要转换的图片格式:程序运行后,会弹出一个窗口,窗口标题为"请选择要转换的格式"。窗口内显示了几个按钮,分别对应常见的图片格式(jpg、png和gif)。

步骤 4:转换图片格式:点击相应的按钮,即可开始将"Old_Img"文件夹中的图片转换为所选格式。在转换过程中,程序会清空"New_Img"文件夹,并将转换后的图片保存到"New_Img"文件夹中。

步骤 5:查看转换结果:转换完成后,程序会弹出一个提示框,提示用户转换完成。你可以打开"New_Img"文件夹,查看转换后的图片文件。

扫描二维码关注公众号,回复: 16646190 查看本文章

注意事项:

  • 请确保"Old_Img"文件夹中只包含你想要转换的图片文件,其他文件将被忽略。
  • 请注意转换后的图片文件可能会覆盖同名的文件,因此在转换之前建议备份原始图片。
  • 该程序目前只支持常见的图片格式转换,如需转换其他格式,请对代码进行相应修改。

三、实现思路

这段代码实现了一个简单的图片格式转换程序,使用了tkinter库创建了一个图形界面窗口,让用户可以选择要将图片转换成的格式。

  1. check_and_create_folders()函数用于检查并创建名为"Old_Img"和"New_Img"的文件夹。如果这两个文件夹不存在,就使用os.makedirs()函数创建它们。

  2. clear_new_img_folder()函数用于清空"New_Img"文件夹。它遍历"New_Img"文件夹中的文件列表,并使用os.remove()函数删除每个文件。

  3. convert_images(image_format)函数用于将"Old_Img"文件夹中的图片转换为指定格式。它首先获取"Old_Img"文件夹中的图片文件列表,然后对每个文件进行以下操作:

    • 打开图片文件并创建一个Image对象。
    • 根据指定的格式构建新的文件名。
    • 使用image.save()方法将转换后的图片保存到"New_Img"文件夹中,指定保存格式为指定的格式。
  4. create_main_window()函数用于创建主窗口。它使用Tk()函数创建一个名为root的窗口对象,并设置窗口的标题为"请选择要转换的格式",大小为300x200像素。

  5. convert_btn_click(image_format)函数是按钮点击事件的处理函数。当用户点击某个按钮时,该函数会被调用。它首先调用clear_new_img_folder()函数清空"New_Img"文件夹,然后调用convert_images(image_format)函数将"Old_Img"文件夹中的图片转换为指定格式。

  6. create_main_window()函数中,使用Button()函数创建了三个按钮,分别对应三种常见的图片格式("jpg"、"png"和"gif")。每个按钮的文本使用对应的格式名,点击按钮时会调用convert_btn_click()函数并传递对应的格式名作为参数。

  7. 最后,在主程序入口if __name__ == '__main__':中,首先调用check_and_create_folders()函数创建文件夹,然后调用create_main_window()函数创建主窗口。

猜你喜欢

转载自blog.csdn.net/zhangawei123/article/details/130920445
今日推荐