Python Imaging Library

From Wikipedia, the free encyclopedia

Template:Short description

Page Module:Infobox/styles.css has no content.

Python Imaging Library
[[Programmer|Original authorTemplate:Pluralize from text]]Fredrik Lundh
[[Programmer|DeveloperTemplate:Pluralize from text]]Secret Labs AB
Initial release1995; 31 years ago (1995)[1]
Template:Infobox software/simple
Written inPython, C
TypeLibrary for image processing
LicenseHistorical Permission Notice and Disclaimer[1]
Websitepython-pillow.github.io

Script error: No such module "Check for conflicting parameters". Page Module:Infobox/styles.css has no content.

Pillow
[[Programmer|Original authorTemplate:Pluralize from text]]Jeffrey A. Clark (Alex)
Initial release31 July 2010; 16 years ago (2010-07-31)[1]
Template:Infobox software/simple
Written inPython, C
TypeLibrary for image processing
LicenseHistorical Permission Notice and Disclaimer[1]
Websitepython-pillow.github.io

Script error: No such module "Check for conflicting parameters".

Python Imaging Library is a free and open-source additional library for the Python programming language that adds support for opening, manipulating, and saving many different image file formats. It is available for Windows, macOS and Linux. The latest version of PIL is 1.1.7, was released in September 2009 and supports Python 1.5.2–2.7.[2]

Development of the original project, known as PIL, was discontinued in 2011.[3] Subsequently, a successor project named Pillow forked the PIL repository and added Python 3.x support.[5] This fork has been adopted as a replacement for the original PIL in Linux distributions including Debian[6] and Ubuntu (since 13.04).[7]

Capabilities

PIL offers several standard procedures for image manipulation. These include:

  • per-pixel manipulations,[8]
  • masking and transparency handling,
  • image filtering, such as blurring, contouring, smoothing, or edge finding,[9]
  • image enhancing, such as sharpening, adjusting brightness, contrast or color,[10]
  • adding text

File formats

Supported file formats include PPM, PNG, JPEG, GIF, TIFF, and BMP. PIL is extensible, allowing users to create custom decoders for any file format.[11]

Programming examples

import os
from PIL import Image


def convert_jpegs_to_pngs(folder_path):
    # Checks if the provided path is a folder
    if not os.path.isdir(folder_path):
        print(f"Error: {folder_path} is not a valid folder.")
        return

    # Iterates over all files in the folder
    for filename in os.listdir(folder_path):
        # Checks if the file has a .jpg or .jpeg extension
        if filename.lower().endswith(".jpg") or filename.lower().endswith(".jpeg"):
            # Full path of the file
            jpeg_path = os.path.join(folder_path, filename)
            # Path for the converted file
            png_path = os.path.join(folder_path, os.path.splitext(filename)[0] + ".png")

            try:
                # Opens the JPEG image
                with Image.open(jpeg_path) as img:
                    # Converts and saves as PNG
                    img.save(png_path, "PNG")
                    print(f"Converted {jpeg_path} to {png_path}")
            except Exception as e:
                print(f"Error converting {jpeg_path}: {e}")

References

Page Template:Reflist/styles.css has no content.

  1. ^ a b c d Page Module:Citation/CS1/styles.css has no content."Software License". Secret Labs AB. Archived from the original on 20 July 2020. Retrieved December 8, 2013.
  2. ^ a b Page Module:Citation/CS1/styles.css has no content."Python Imaging Library". Secret Labs AB. Archived from the original on 21 November 2020. Retrieved December 8, 2013.
  3. ^ a b Page Module:Citation/CS1/styles.css has no content."effbot / pil-2009-raclette". Archived from the original on 15 March 2015. Retrieved December 8, 2013.
  4. ^ Page Module:Citation/CS1/styles.css has no content."Release Notes". Pillow (PIL Fork) Documentation. Retrieved February 5, 2025.
  5. ^ Page Module:Citation/CS1/styles.css has no content."Pillow: a modern fork of PIL". Retrieved December 8, 2013.
  6. ^ Page Module:Citation/CS1/styles.css has no content."Details of package python-imaging in sid". packages.debian.org. Software in the Public Interest. Retrieved December 8, 2013.
  7. ^ Page Module:Citation/CS1/styles.css has no content."Details of package python-imaging in raring". ubuntu.com. Canonical Ltd. Retrieved December 8, 2013.
  8. ^ Page Module:Citation/CS1/styles.css has no content."PyAccess Module". readthedocs.io. Retrieved September 20, 2024.
  9. ^ Page Module:Citation/CS1/styles.css has no content."ImageFilter Module". readthedocs.io. Retrieved September 20, 2024.
  10. ^ Page Module:Citation/CS1/styles.css has no content."ImageColor Module". readthedocs.io. Retrieved September 20, 2024.
  11. ^ Page Module:Citation/CS1/styles.css has no content."D. Writing Your Own File Decoder". Effbot.org. Retrieved 2014-01-28.