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