Skip to content
Related Articles

Related Articles

Convert the .PNG to .GIF and it’s vice-versa in Python
  • Last Updated : 24 Jan, 2021

Prerequisites:

Python supports subsystems for converting one file format to another. This article discusses this topic and depicts how a png file can be converted to its gif equivalent and vice versa. For conversion of one file format to the other PIL is employed.

The given example uses a GUI interface to the code, so we will require Tkinter. It is a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit which provide the interface to the GUI apps.

Approach

  • Import modules
  • Create a normal window
  • Add buttons to take choice whether to convert to png to gif or vice versa
  • Open file
  • Check if the file supplied is of the correct format
  • Convert to its respective equivalent
  • Save image
  • Execute code

Program:

Python3






from tkinter import *
from tkinter import filedialog as fd
import os
from PIL import Image
from tkinter import messagebox
  
root = Tk()
  
# naming the GUI interface to image_conversion_APP
root.title("Image_Conversion_App")
  
# creating the Function which converts the jpg_to_png
  
  
def gif_to_png():
    global im
  
    import_filename = fd.askopenfilename()
    if import_filename.endswith(".gif"):
        im = Image.open(import_filename)
        export_filename = fd.asksaveasfilename(defaultextension=".png")
        im.save(export_filename)
        messagebox.showinfo("Success", "File converted to .png")
    else:
        messagebox.showerror("Fail!!", "Error Interrupted!!!! Check Again")
  
  
def png_to_gif():
    import_filename = fd.askopenfilename()
    if import_filename.endswith(".png"):
        im = Image.open(import_filename)
        export_filename = fd.asksaveasfilename(defaultextension=".gif")
        im.save(export_filename)
        messagebox.showinfo("Success", "File converted to .gif")
    else:
        messagebox.showerror("Fail!!", "Error Interrupted!!!! Check Again")
  
  
button1 = Button(root, text="GIF_to_PNG", width=20, height=2, bg="green",
                 fg="white", font=("helvetica", 12, "bold"), command=gif_to_png)
  
button1.place(x=120, y=120)
  
button2 = Button(root, text="PNG_to_GIF", width=20, height=2, bg="green",
                 fg="white", font=("helvetica", 12, "bold"), command=png_to_gif)
  
button2.place(x=120, y=220)
root.geometry("500x500+400+200")
root.mainloop()

Output:


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :