首頁 > 軟體

Python實現圖片格式轉換小程式

2022-08-09 18:00:46

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com