Python实现图片格式转换小程序

 更新时间:2022年08月09日 17:20:28   作者:aguang5241  
这篇文章主要为大家详细介绍了Python实现图片格式转换小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

基于Python实现图片格式转换的小程序,供大家参考,具体内容如下

特点:

1.批量处理图片
2.转换常见的4种图片格式

运行窗口

运行窗口-1

选择图片(可批量选择)-2

假设选中4张JEPG格式的图片

格式选择窗口-3

假设选择目标格式PNG

结束窗口-4

结果展示-5

可以发现4个JEPG目标图片成功转换为PNG格式的图片

代码

import tkinter as tk
import tkinter.messagebox
from tkinter import filedialog
from PIL import Image

def main():   
    window1 = tk.Tk()
    window1.title('')
    window1.geometry('200x100')

    l1 = tk.Label(window1, bg = 'green', font = ('宋体', 12), width = 50, text = '图片转换精灵(v1.3)')
    l1.pack()

    def select_image():
        image = tk.filedialog.askopenfilenames(title = '选择图片')
        num = len(image)
        types = ['.jpg', '.png', '.tif', '.gif']
        image_list = list(image)
        
        window2 = tk.Tk()
        window2.title('')
        window2.geometry('200x250')
        
        l2_1 = tk.Label(window2, bg = 'green', font = ('宋体', 12), width = 50, text = '图片转换精灵(v1.3)')
        l2_1.pack()

        l2_2 = tk.Label(window2, text = '')
        l2_2.pack()
        
        l2_3 = tk.Label(window2, font = ('宋体', 12), width = 50, text = '')
        l2_3.pack()
        l2_3.config(text = '已选择%d张图片' % num)
        
        l2_4 = tk.Label(window2, font = ('宋体', 12), width = 50, text = '目标格式【点击即开始】')
        l2_4.pack()

        l2_5 = tk.Label(window2, text = '')
        l2_5.pack()


        def jpg_type():
            image_type = types[0]
            for img in image_list:
                f = Image.open(img)
                img_name = img[:-4]
                try:
                    f.save(img_name + image_type)
                except OSError:
                    tkinter.messagebox.showerror(title='', message='%s转换出错' % img)

            tkinter.messagebox.showinfo(title='', message='转换完成')       

        def png_type():
            image_type = types[1]
            for img in image_list:
                f = Image.open(img)
                img_name = img[:-4]
                try:
                    f.save(img_name + image_type)
                except OSError:
                    tkinter.messagebox.showerror(title='', message='%s转换出错' % img)

            tkinter.messagebox.showinfo(title='', message='转换完成')       

        def tif_type():
            image_type = types[2]
            for img in image_list:
                f = Image.open(img)
                img_name = img[:-4]
                try:
                    f.save(img_name + image_type)
                except OSError:
                    tkinter.messagebox.showerror(title='', message='%s转换出错' % img)
                
            tkinter.messagebox.showinfo(title='', message='转换完成')       

        def gif_type():
            image_type = types[3]
            for img in image_list:
                f = Image.open(img)
                img_name = img[:-4]
                try:
                    f.save(img_name + image_type)
                except OSError:
                    tkinter.messagebox.showerror(title='', message='%s转换出错' % img)

            tkinter.messagebox.showinfo(title='', message='转换完成')       

        button2_1 = tk.Button(window2, text = 'JEPG', font = ('宋体', 12), width = 8, height = 1, command = jpg_type)
        button2_1.pack()
        button2_2 = tk.Button(window2, text = 'PNG', font = ('宋体', 12), width = 8, height = 1, command = png_type)
        button2_2.pack()
        button2_3 = tk.Button(window2, text = 'TIF', font = ('宋体', 12), width = 8, height = 1, command = tif_type)
        button2_3.pack()
        button2_4 = tk.Button(window2, text = 'GIF', font = ('宋体', 12), width = 8, height = 1, command = gif_type)
        button2_4.pack()
        
        window2.mainloop()
               
    botton1 = tk.Button(window1, text = '选择图片', font = ('宋体', 12), width = 8, height = 1, command = select_image)
    botton1.place(x = 65, y = 40)

    window1.mainloop()

if __name__ == '__main__':
    main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python matplotlib安装和使用的完整教程

    Python matplotlib安装和使用的完整教程

    Python Matplotlib是一个强大的数据可视化库,它允许用户创建各种类型的静态、动态图表和图形,Matplotlib基于NumPy和Pandas等科学计算库,提供了丰富的绘图选项,本文介绍了Python matplotlib安装和使用的完整教程,需要的朋友可以参考下
    2024-07-07
  • Python读取xlsx数据生成图标代码实例

    Python读取xlsx数据生成图标代码实例

    这篇文章主要介绍了Python读取xlsx数据生成图标代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Python推导式使用详情

    Python推导式使用详情

    这篇文章主要介绍了Python推导式使用详情,推导式是 for 循环的简化使用方法,使用推导式,将一个可迭代对象中的数据遍历到某一个容器当中,下面文章详细介绍需要的小伙伴可以参考一下
    2022-05-05
  • Python实现识别花卉种类的示例代码

    Python实现识别花卉种类的示例代码

    “无穷小亮的科普日常”经常会发布一些鉴定网络热门生物视频,既科普了生物知识,又满足观众们的猎奇心理。今天我们也来用Python鉴定一下网络热门植物
    2022-04-04
  • Tensorflow 1.0之后模型文件、权重数值的读取方式

    Tensorflow 1.0之后模型文件、权重数值的读取方式

    今天小编就为大家分享一篇Tensorflow 1.0之后模型文件、权重数值的读取方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python自定义进程池实例分析【生产者、消费者模型问题】

    Python自定义进程池实例分析【生产者、消费者模型问题】

    这篇文章主要介绍了Python自定义进程池,结合实例分析了Python使用自定义进程池实现的生产者、消费者模型问题,需要的朋友可以参考下
    2016-09-09
  • python自定义函数实现最大值的输出方法

    python自定义函数实现最大值的输出方法

    今天小编就为大家分享一篇python自定义函数实现最大值的输出方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Django单元测试中Fixtures的使用方法

    Django单元测试中Fixtures的使用方法

    这篇文章主要介绍了Django单元测试中Fixtures用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • python之当你发现QTimer不能用时的解决方法

    python之当你发现QTimer不能用时的解决方法

    今天小编就为大家分享一篇python之当你发现QTimer不能用时的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • django项目环境搭建及在虚拟机本地创建django项目的教程

    django项目环境搭建及在虚拟机本地创建django项目的教程

    这篇文章主要介绍了django项目环境搭建及在虚拟机本地创建django项目的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08

最新评论