Python to Convert JPG to PNG and PNG TO JPG with Source Code For Beginners

These scripts can change the format of images from PNG to JPG and JPG to PNG

Requirements:

Required Modules

pip install pillow //PIL==1.1.6Code language: JavaScript (javascript)

Run the Script:

  • Dynamic Change Copy the script convertDynamic.py into the directory where images are (PNG and/or JPG). And run:
$ python convertDynamic.py
  • This will convert all JPG images to PNG and PNG images to JPG in the present directory tree recursively (i.e. will change format in images inside sub-directories too.)
  • JPG to PNG (single image)
    1. Copy the JPG image to the directory where JPGtoPNG.py exists
    2. Replace file name naruto_first.jpg inside JPGtoPNG.py (line 3) to input file name (JPG).
    3. Replace file name naruto.png inside JPGtoPNG.py(line 4) to output file name (PNG).
    4. Run following command: $ python JPGtoPNG.py
  • PNG to JPG (single image)
    1. Copy the PNG image in directory where PNGtoJPG.py exists
    2. Replace file name naruto_first.png inside PNGtoJPG.py (line 3) to input file name (PNG).
    3. Replace file name naruto.jpg inside PNGtoJPG.py (line 4) to output file name (JPG).
    4. Run following command: $ python PNGtoJPG.py

Source Code:

convertDynamic.py

from PIL import Image
import sys
import os

try:
  im = None
  for root, dirs, files in os.walk("."):
    for filename in files:
        if filename.endswith('.jpg'):
          im = Image.open(filename).convert("RGB")
          im.save(filename.replace('jpg', 'png'), "png")
        elif filename.endswith('.png'):
          im = Image.open(filename).convert("RGB")
          im.save(filename.replace('png', 'jpg'), "jpeg")
        else:
          print('dont have image to convert')
except IOError:
  print('directory empty!')
  sys.exit()Code language: PHP (php)

PNGtoJPG.py

from PIL import Image

im = Image.open("naruto_first.png").convert("RGB")
im.save("naruto.jpg", "jpeg")Code language: JavaScript (javascript)

JPGtoPNG.py

from PIL import Image

im = Image.open("naruto_first.jpg").convert("RGB")
im.save("naruto.png", "png")Code language: JavaScript (javascript)

Leave a Comment