📌  相关文章
📜  使用Python将文件从 jpg 转换为 gif,反之亦然

📅  最后修改于: 2022-05-13 01:54:27.948000             🧑  作者: Mango

使用Python将文件从 jpg 转换为 gif,反之亦然

有时需要在我们需要具有指定扩展名的图像文件的位置附加图像。我们有不同扩展名的图像,需要使用指定的扩展名进行转换,就像这样,我们将把扩展名为.jpg 的图像转换为 .gif ,反之亦然

此外,我们将创建代码的GUI 界面,因此我们将需要 Library tkinter 。 Tkinter 是一个Python绑定到 Tk GUI 工具包。它是 Tk GUI 工具包的标准Python接口,提供了 GUI 应用程序的接口

请按照以下步骤操作:

第 1 步:导入库。

from PIL import Image

第 2 步: JPG 转 GIF

To convert the image From JPG to GIF : {Syntax}

img = Image.open("Image.jpg")
img.save("Image.gif")

第 3 步: GIF 转 JPG

To convert the Image From PNG to JPG
img = Image.open("Image.gif")
img.save("Image.jpg")

添加GUI界面

from tkinter import *

方法:

  • 在函数jpg_to_gif()中,我们首先检查选择图像的格式是否与要转换为 .gif 的格式 (.jpg) 相同,否则返回错误。
  • 否则将图像转换为.gif
  • 要打开图像,我们使用tkinter中名为FileDialog的函数,它有助于从文件夹中打开图像。
  • tkinter导入filedialog作为fd
  • GIF 到 JPG 的相同方法。

下面是实现:

Python3
# import required modules
from tkinter import *
from tkinter import filedialog as fd
import os
from PIL import Image
from tkinter import messagebox
   
   
# create TK object 
root = Tk()
   
# naming the GUI interface to image_conversion_APP
root.title("Image_Conversion_App")
   
 
# function to convert jpg to gif
def jpg_to_gif():
    global im1
   
    # import the image from the folder
    import_filename = fd.askopenfilename()
    if import_filename.endswith(".jpg"):
   
        im1 = Image.open(import_filename)
   
        # after converting the image save to desired
        # location with the Extersion .png
        export_filename = fd.asksaveasfilename(defaultextension=".gif")
        im1.save(export_filename)
   
        # displaying the Messaging box with the Success
        messagebox.showinfo("success ", "your Image converted to GIF Format")
    else:
   
        # if Image select is not with the Format of .jpg 
        # then display the Error
        Label_2 = Label(root, text="Error!", width=20,
                        fg="red", font=("bold", 15))
        Label_2.place(x=80, y=280)
        messagebox.showerror("Fail!!", "Something Went Wrong...")
   
 
# function to convert gif to jpg 
def gif_to_jpg():
    global im1
    import_filename = fd.askopenfilename()
   
    if import_filename.endswith(".gif"):
            im1=Image.open(import_filename).convert('RGB')
            export_filename=fd.asksaveasfilename(defaultextension=".jpg")
            im1.save(export_filename)
            messagebox.showinfo("Success","File converted to .jpg")
             
    else:
        messagebox.showerror("Fail!!","Error Interrupted!!!! Check Again")
 
 
# Driver Code
 
# add buttons
button1 = Button(root, text="JPG_to_GIF", width=20,
                 height=2, bg="green", fg="white",
                 font=("helvetica", 12, "bold"),
                 command=jpg_to_gif)
   
button1.place(x=120, y=120)
   
button2 = Button(root, text="GIF_to_JPG", width=20,
                 height=2, bg="green", fg="white",
                 font=("helvetica", 12, "bold"),
                 command=gif_to_jpg)
   
button2.place(x=120, y=220)
 
# adjust window size
root.geometry("500x500+400+200")
root.mainloop()