Python Imaging Library

Python Imaging Library (abbreviated as PIL) (in newer versions known as Pillow) 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, Mac OS X and Linux. The latest version of PIL is 1.1.7, was released in September 2009 and supports Python 1.5.2–2.7, with Python 3 support to be released "later".[2]

Python Imaging Library
Original author(s)Fredrik Lundh
Developer(s)Secret Labs AB
Initial release1995 (1995)[1]
Stable release
1.1.7 / November 15, 2009 (2009-11-15)[2]
Preview release
1.2a0[3] / 2011 (2011)
Written inPython, C
TypeLibrary for image processing
LicensePython Imaging Library license[1]
Websitewww.pythonware.com/products/pil/

Development appears to be discontinued, with the last commit to the PIL repository coming in 2011.[3] Consequently, a successor project called Pillow has forked the PIL repository and added Python 3.x support.[4] This fork has been adopted as a replacement for the original PIL in Linux distributions including Debian[5] and Ubuntu (since 13.04).[6]

Capabilities

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

  • per-pixel manipulations,
  • masking and transparency handling,
  • image filtering, such as blurring, contouring, smoothing, or edge finding,
  • image enhancing, such as sharpening, adjusting brightness, contrast or color,
  • adding text to images and much more.

File formats

Some of the file formats supported are PPM, PNG, JPEG, GIF, TIFF, and BMP. It is also possible to create new file decoders to expand the library of file formats accessible.[7]

Usage example

This example loads an image from the hard drive and blurs it.

1 from PIL import Image, ImageFilter  # imports the library
2 
3 original = Image.open("file.ppm") # load an image from the hard drive
4 blurred = original.filter(ImageFilter.BLUR) # blur the image
5 
6 original.show() # display both images
7 blurred.show()

This example loads and rotates an image by 180 degrees

1 from PIL import Image #imports the library
2 
3 im = Image.open("file.jpg") #loads the image
4 rotated = im.rotate(180) # rotates the image by 180 degrees
5 saved = rotated.save("file_rotated.jpg") #saves the rotated image

This example loads and crops an image

from PIL import Image # import Image library

im = Image.open("\\mobile-port-device-frame-example-google-chrome.jpg") #read/load image
im1 = im.crop((100, 100, 250, 250)) # crop image
im2 = im1.save("mobile-port-device-frame-example-google-chrome_cropped.jpg")#save image

License

The Python Imaging Library (PIL) is

 Copyright © 1997-2011 by Secret Labs AB
 Copyright © 1995-2011 by Fredrik Lundh

Based on

gollark: But killdan200!
gollark: There goes my evil weekend plan.
gollark: If you have really low latency to the thing somehow, or giant amounts of repeats, it might be possible.
gollark: Although it is *mostly* likely to be too fast to observe much.
gollark: But generally you can get some idea of whether the first sections of some values match based on timing information if the thing is naively checking their equality.

References

  1. "Software License". Secret Labs AB. Retrieved December 8, 2013.
  2. "Python Imaging Library". Secret Labs AB. Retrieved December 8, 2013.
  3. "effbot / pil-2009-raclette". Archived from the original on 15 March 2015. Retrieved December 8, 2013.
  4. "Pillow: a modern fork of PIL". Retrieved December 8, 2013.
  5. "Details of package python-imaging in sid". packages.debian.org. Software in the Public Interest. Retrieved December 8, 2013.
  6. "Details of package python-imaging in raring". ubuntu.com. Canonical Ltd. Retrieved December 8, 2013.
  7. "D. Writing Your Own File Decoder". Effbot.org. Retrieved 2014-01-28.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.