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()

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

(0)

相关推荐

  • Python将图片批量从png格式转换至WebP格式

    实现效果 将位于/img目录下的1000张.png图片,转换成.webp格式,并存放于img_webp文件夹内. 源图片目录 目标图片目录 关于批量生成1000张图片,可以参考这篇文章:利用Python批量生成任意尺寸的图片 实现示例 import glob import os import threading from PIL import Image def create_image(infile, index): os.path.splitext(infile) im = Image.op

  • 使用python将图片格式转换为ico格式的示例

    因为python打包的时候需要用到ico图片格式,网上看好的图片又没有ico,于是自己寻找了一下python转换图片格式的方法,彻底解决这个问题,以后就可以自己轻松实现转化了. 代码如下: """ Author:Robin·QI Notes:将图片转换为ico格式 """ # PythonMargick包可以到Unofficial Windows Binaries for Python Extension Packages下载 import Py

  • 在Python的struct模块中进行数据格式转换的方法

    Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典.通过这六种数据类型,我们可以完成大部分工作.但当Python需要通过网络与其他的平台进行交互的时候,必须考虑到将这些数据类型与其他平台或语言之间的类型进行互相转换问题.打个比方:C++写的客户端发送一个int型(4字节)变量的数据到Python写的服务器,Python接收到表示这个整数的4个字节数据,怎么解析成Py

  • python中有关时间日期格式转换问题

    每次遇到pandas的dataframe某列日期格式问题总会哉坑,下面记录一下常用时间日期函数.... 1.字符串转化为日期 str->date import datetime date_str = '2006-01-03' date_ = datetime.datetime.strptime(date_str,'%Y-&m-%d') 这是单个字符串的转化,其中"%Y-%m-%d"表示日期字符串的格式,若date_str='2006/1/3',则可写为"%Y/%

  • Python基于pandas实现json格式转换成dataframe的方法

    本文实例讲述了Python基于pandas实现json格式转换成dataframe的方法.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 import re import json from bs4 import BeautifulSoup import pandas as pd import requests import os from pandas.io.json import json_normalize class image_str

  • 把JSON数据格式转换为Python的类对象方法详解(两种方法)

    JOSN字符串转换为自定义类实例对象 有时候我们有这种需求就是把一个JSON字符串转换为一个具体的Python类的实例,比如你接收到这样一个JSON字符串如下: {"Name": "Tom", "Sex": "Male", "BloodType": "A", "Hobbies": ["篮球", "足球"]} 我需要把这个转换为具

  • python轻松实现代码编码格式转换

    最近刚换工作不久,没太多的时间去整理工作中的东西,大部分时间都在用来熟悉新公司的业务,熟悉他们的代码框架了,最主要的是还有很多新东西要学,我之前主要是做php后台开发的,来这边之后还要把我半路出家的前端学好.还要学习C++,哈哈,总之很充实了,每天下班回家都可以睡的很香(一句话总结,就是吃得香.睡的香~).再说说换工作时候吧,今年年初正式毕业半年了,感觉自己技术增长很快,原公司里面程序员的地位还不如运营,所以想换个工作,面试了3家(2家大的.一家小的),都给offer了,当然从大公司里面挑了个各

  • Python实现把json格式转换成文本或sql文件

    python如何将json格式的数据快速的转化成指定格式的数据呢?或者转换成sql文件? 下面的例子是将json格式的数据准换成以#_#分割的文本数据,也可用于生成sql文件. [root@bogon tutorial]# vi json2txt.py #-*- coding: UTF-8 -*- import json data = [] with open('./tencent_test.json') as f: for line in f: data.append(json.loads(l

  • python实现批量图片格式转换

    本文实例为大家分享了python实现批量格式转换的具体代码,供大家参考,具体内容如下 深度学习过程中总是绕不开数据集的制作,有时候实际图片格式或大小可能与需要关心的图片信息不一致,那么我们只能手动做好数据预处理,再进行training dataset.现在将介绍最简单的格式转换问题.可以支持批量图片任意格式转换. 直接上代码: # 将jpg格式转位png import os from PIL import Image import shutil import sys # Define the i

  • python实现m3u8格式转换为mp4视频格式

    开发动机:最近用手机QQ浏览器下载了一些视频,视频越来越多,占用了手机内存,于是想把下载的视频传到电脑上保存,可后来发现这些视频都是m3u8格式的,且这个格式的视频都切成了碎片,存在电脑里不方便查看,于是想把它转换为其他可以直接打开播放的完整视频,到网上找了一些工具,都不怎么好用,后来发现一个手机端的"缓冲合并工具",倒是可以用,但是合并的视频顺序是乱的,碎片的视频顺序还需要用户手动调整,感觉太耽误时间了,于是自己打算写一个转换工具. 直接上代码:(程序的文件名为:convert_m3

随机推荐