# PaCkAgE DaTaStReAm
LNFpil-docs 1 491
# end of header
07070100013baf000081a4000017820000044e000000014644f0280000030b0000022d0000016a00000000000000000000001400000000LNFpil-docs/pkginfo PKG=LNFpil-docs
ARCH=i386
VERSION=1.1.6
SERIALNUM=001
NAME=Python Imaging Library (PIL) - documentation
CATEGORY=graphics,util,application
EMAIL=developers@linofee.org
VENDOR=LINOFEE, http://www.linofee.org
BASEDIR=/usr/share/doc
DESC=This package contains the API and additional documentation for the Python Imaging Library (PIL). It adds image processing capabilities to your Python interpreter. It provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities. Included are some python scripts aka utilities, which make use of the PIL.
LICINFO=Secret Labs AB Software License (MIT style)
LICURL=http://www.pythonware.com/library/pil/handbook/license.htm
LICFILE=slas.txt
PSTAMP=idev20070512003728
CLASSES=none
07070100013bae000081a4000017820000044e000000014644f0280000197b0000022d0000016a00000000000000000000001300000000LNFpil-docs/pkgmap : 1 491
1 d none PIL 0755 bin bin
1 f none PIL/CHANGES 0644 bin bin 56062 17844 1165148040
1 f none PIL/README 0644 bin bin 9570 38692 1165153431
1 d none PIL/html 0755 bin bin
1 f none PIL/html/effbot.css 0644 bin bin 2267 35733 1165145841
1 f none PIL/html/index.html 0644 bin bin 7317 46017 1165145841
1 f none PIL/html/pythondoc-PIL.ArgImagePlugin.html 0644 bin bin 940 13473 1165145841
1 f none PIL/html/pythondoc-PIL.BdfFontFile.html 0644 bin bin 890 8045 1165145841
1 f none PIL/html/pythondoc-PIL.BmpImagePlugin.html 0644 bin bin 914 10920 1165145841
1 f none PIL/html/pythondoc-PIL.BufrStubImagePlugin.html 0644 bin bin 685 58479 1165145841
1 f none PIL/html/pythondoc-PIL.ContainerIO.html 0644 bin bin 2843 39810 1165145841
1 f none PIL/html/pythondoc-PIL.CurImagePlugin.html 0644 bin bin 912 11040 1165145841
1 f none PIL/html/pythondoc-PIL.DcxImagePlugin.html 0644 bin bin 912 10681 1165145841
1 f none PIL/html/pythondoc-PIL.EpsImagePlugin.html 0644 bin bin 915 11384 1165145841
1 f none PIL/html/pythondoc-PIL.ExifTags.html 0644 bin bin 731 59440 1165145841
1 f none PIL/html/pythondoc-PIL.FitsStubImagePlugin.html 0644 bin bin 685 58514 1165145841
1 f none PIL/html/pythondoc-PIL.FliImagePlugin.html 0644 bin bin 1029 20794 1165145841
1 f none PIL/html/pythondoc-PIL.FontFile.html 0644 bin bin 839 3733 1165145841
1 f none PIL/html/pythondoc-PIL.FpxImagePlugin.html 0644 bin bin 911 10938 1165145841
1 f none PIL/html/pythondoc-PIL.GbrImagePlugin.html 0644 bin bin 913 10735 1165145841
1 f none PIL/html/pythondoc-PIL.GdImageFile.html 0644 bin bin 1480 57558 1165145841
1 f none PIL/html/pythondoc-PIL.GifImagePlugin.html 0644 bin bin 902 9616 1165145841
1 f none PIL/html/pythondoc-PIL.GimpGradientFile.html 0644 bin bin 970 16787 1165145841
1 f none PIL/html/pythondoc-PIL.GimpPaletteFile.html 0644 bin bin 953 15172 1165145841
1 f none PIL/html/pythondoc-PIL.GribStubImagePlugin.html 0644 bin bin 685 58424 1165145841
1 f none PIL/html/pythondoc-PIL.Hdf5StubImagePlugin.html 0644 bin bin 685 58119 1165145841
1 f none PIL/html/pythondoc-PIL.IcnsImagePlugin.html 0644 bin bin 920 11683 1165145841
1 f none PIL/html/pythondoc-PIL.IcoImagePlugin.html 0644 bin bin 910 10555 1165145841
1 f none PIL/html/pythondoc-PIL.ImImagePlugin.html 0644 bin bin 900 9241 1165145841
1 f none PIL/html/pythondoc-PIL.Image.html 0644 bin bin 28337 4902 1165145841
1 f none PIL/html/pythondoc-PIL.ImageChops.html 0644 bin bin 7912 7224 1165145841
1 f none PIL/html/pythondoc-PIL.ImageColor.html 0644 bin bin 670 55134 1165145841
1 f none PIL/html/pythondoc-PIL.ImageDraw.html 0644 bin bin 5208 44576 1165145841
1 f none PIL/html/pythondoc-PIL.ImageEnhance.html 0644 bin bin 3257 14994 1165145841
1 f none PIL/html/pythondoc-PIL.ImageFile.html 0644 bin bin 4169 17148 1165145841
1 f none PIL/html/pythondoc-PIL.ImageFileIO.html 0644 bin bin 1664 7998 1165145841
1 f none PIL/html/pythondoc-PIL.ImageFilter.html 0644 bin bin 9912 20436 1165145841
1 f none PIL/html/pythondoc-PIL.ImageFont.html 0644 bin bin 4566 58651 1165145841
1 f none PIL/html/pythondoc-PIL.ImageGL.html 0644 bin bin 884 8571 1165145841
1 f none PIL/html/pythondoc-PIL.ImageGrab.html 0644 bin bin 1051 21323 1165145841
1 f none PIL/html/pythondoc-PIL.ImageOps.html 0644 bin bin 5243 39369 1165145841
1 f none PIL/html/pythondoc-PIL.ImagePalette.html 0644 bin bin 979 17389 1165145841
1 f none PIL/html/pythondoc-PIL.ImagePath.html 0644 bin bin 1997 33527 1165145841
1 f none PIL/html/pythondoc-PIL.ImageSequence.html 0644 bin bin 1180 33917 1165145841
1 f none PIL/html/pythondoc-PIL.ImageStat.html 0644 bin bin 1249 37897 1165145841
1 f none PIL/html/pythondoc-PIL.ImageTk.html 0644 bin bin 4751 3705 1165145841
1 f none PIL/html/pythondoc-PIL.ImageTransform.html 0644 bin bin 4888 20720 1165145841
1 f none PIL/html/pythondoc-PIL.ImageWin.html 0644 bin bin 5138 34067 1165145841
1 f none PIL/html/pythondoc-PIL.ImtImagePlugin.html 0644 bin bin 907 10433 1165145841
1 f none PIL/html/pythondoc-PIL.IptcImagePlugin.html 0644 bin bin 1342 47269 1165145841
1 f none PIL/html/pythondoc-PIL.JpegImagePlugin.html 0644 bin bin 928 12146 1165145841
1 f none PIL/html/pythondoc-PIL.McIdasImagePlugin.html 0644 bin bin 958 14932 1165145841
1 f none PIL/html/pythondoc-PIL.MicImagePlugin.html 0644 bin bin 930 12408 1165145841
1 f none PIL/html/pythondoc-PIL.MpegImagePlugin.html 0644 bin bin 920 11676 1165145841
1 f none PIL/html/pythondoc-PIL.MspImagePlugin.html 0644 bin bin 910 10837 1165145841
1 f none PIL/html/pythondoc-PIL.OleFileIO.html 0644 bin bin 1986 36057 1165145841
1 f none PIL/html/pythondoc-PIL.PSDraw.html 0644 bin bin 817 1201 1165145841
1 f none PIL/html/pythondoc-PIL.PaletteFile.html 0644 bin bin 895 9573 1165145841
1 f none PIL/html/pythondoc-PIL.PalmImagePlugin.html 0644 bin bin 612 51352 1165145841
1 f none PIL/html/pythondoc-PIL.PcdImagePlugin.html 0644 bin bin 906 10075 1165145841
1 f none PIL/html/pythondoc-PIL.PcfFontFile.html 0644 bin bin 890 8266 1165145841
1 f none PIL/html/pythondoc-PIL.PcxImagePlugin.html 0644 bin bin 909 10794 1165145841
1 f none PIL/html/pythondoc-PIL.PdfImagePlugin.html 0644 bin bin 598 50097 1165145841
1 f none PIL/html/pythondoc-PIL.PixarImagePlugin.html 0644 bin bin 943 14287 1165145841
1 f none PIL/html/pythondoc-PIL.PngImagePlugin.html 0644 bin bin 902 9871 1165145841
1 f none PIL/html/pythondoc-PIL.PpmImagePlugin.html 0644 bin bin 916 10949 1165145841
1 f none PIL/html/pythondoc-PIL.PsdImagePlugin.html 0644 bin bin 908 10638 1165145841
1 f none PIL/html/pythondoc-PIL.SgiImagePlugin.html 0644 bin bin 902 9837 1165145841
1 f none PIL/html/pythondoc-PIL.SpiderImagePlugin.html 0644 bin bin 1188 36147 1165145841
1 f none PIL/html/pythondoc-PIL.SunImagePlugin.html 0644 bin bin 908 10814 1165145841
1 f none PIL/html/pythondoc-PIL.TarIO.html 0644 bin bin 1117 24594 1165145841
1 f none PIL/html/pythondoc-PIL.TgaImagePlugin.html 0644 bin bin 903 9894 1165145841
1 f none PIL/html/pythondoc-PIL.TiffImagePlugin.html 0644 bin bin 1535 64812 1165145841
1 f none PIL/html/pythondoc-PIL.TiffTags.html 0644 bin bin 723 58888 1165145841
1 f none PIL/html/pythondoc-PIL.WalImageFile.html 0644 bin bin 819 2871 1165145841
1 f none PIL/html/pythondoc-PIL.WmfImagePlugin.html 0644 bin bin 1223 38608 1165145841
1 f none PIL/html/pythondoc-PIL.XVThumbImagePlugin.html 0644 bin bin 975 17100 1165145841
1 f none PIL/html/pythondoc-PIL.XbmImagePlugin.html 0644 bin bin 903 9982 1165145841
1 f none PIL/html/pythondoc-PIL.XpmImagePlugin.html 0644 bin bin 906 10465 1165145841
1 i pkginfo 779 3339 1178923048
07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!! 07070100013baf000081a4000017820000044e000000014644f0280000030b0000022d0000016a00000000000000000000000800000000pkginfo PKG=LNFpil-docs
ARCH=i386
VERSION=1.1.6
SERIALNUM=001
NAME=Python Imaging Library (PIL) - documentation
CATEGORY=graphics,util,application
EMAIL=developers@linofee.org
VENDOR=LINOFEE, http://www.linofee.org
BASEDIR=/usr/share/doc
DESC=This package contains the API and additional documentation for the Python Imaging Library (PIL). It adds image processing capabilities to your Python interpreter. It provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities. Included are some python scripts aka utilities, which make use of the PIL.
LICINFO=Secret Labs AB Software License (MIT style)
LICURL=http://www.pythonware.com/library/pil/handbook/license.htm
LICFILE=slas.txt
PSTAMP=idev20070512003728
CLASSES=none
07070100013bae000081a4000017820000044e000000014644f0280000197b0000022d0000016a00000000000000000000000700000000pkgmap : 1 491
1 d none PIL 0755 bin bin
1 f none PIL/CHANGES 0644 bin bin 56062 17844 1165148040
1 f none PIL/README 0644 bin bin 9570 38692 1165153431
1 d none PIL/html 0755 bin bin
1 f none PIL/html/effbot.css 0644 bin bin 2267 35733 1165145841
1 f none PIL/html/index.html 0644 bin bin 7317 46017 1165145841
1 f none PIL/html/pythondoc-PIL.ArgImagePlugin.html 0644 bin bin 940 13473 1165145841
1 f none PIL/html/pythondoc-PIL.BdfFontFile.html 0644 bin bin 890 8045 1165145841
1 f none PIL/html/pythondoc-PIL.BmpImagePlugin.html 0644 bin bin 914 10920 1165145841
1 f none PIL/html/pythondoc-PIL.BufrStubImagePlugin.html 0644 bin bin 685 58479 1165145841
1 f none PIL/html/pythondoc-PIL.ContainerIO.html 0644 bin bin 2843 39810 1165145841
1 f none PIL/html/pythondoc-PIL.CurImagePlugin.html 0644 bin bin 912 11040 1165145841
1 f none PIL/html/pythondoc-PIL.DcxImagePlugin.html 0644 bin bin 912 10681 1165145841
1 f none PIL/html/pythondoc-PIL.EpsImagePlugin.html 0644 bin bin 915 11384 1165145841
1 f none PIL/html/pythondoc-PIL.ExifTags.html 0644 bin bin 731 59440 1165145841
1 f none PIL/html/pythondoc-PIL.FitsStubImagePlugin.html 0644 bin bin 685 58514 1165145841
1 f none PIL/html/pythondoc-PIL.FliImagePlugin.html 0644 bin bin 1029 20794 1165145841
1 f none PIL/html/pythondoc-PIL.FontFile.html 0644 bin bin 839 3733 1165145841
1 f none PIL/html/pythondoc-PIL.FpxImagePlugin.html 0644 bin bin 911 10938 1165145841
1 f none PIL/html/pythondoc-PIL.GbrImagePlugin.html 0644 bin bin 913 10735 1165145841
1 f none PIL/html/pythondoc-PIL.GdImageFile.html 0644 bin bin 1480 57558 1165145841
1 f none PIL/html/pythondoc-PIL.GifImagePlugin.html 0644 bin bin 902 9616 1165145841
1 f none PIL/html/pythondoc-PIL.GimpGradientFile.html 0644 bin bin 970 16787 1165145841
1 f none PIL/html/pythondoc-PIL.GimpPaletteFile.html 0644 bin bin 953 15172 1165145841
1 f none PIL/html/pythondoc-PIL.GribStubImagePlugin.html 0644 bin bin 685 58424 1165145841
1 f none PIL/html/pythondoc-PIL.Hdf5StubImagePlugin.html 0644 bin bin 685 58119 1165145841
1 f none PIL/html/pythondoc-PIL.IcnsImagePlugin.html 0644 bin bin 920 11683 1165145841
1 f none PIL/html/pythondoc-PIL.IcoImagePlugin.html 0644 bin bin 910 10555 1165145841
1 f none PIL/html/pythondoc-PIL.ImImagePlugin.html 0644 bin bin 900 9241 1165145841
1 f none PIL/html/pythondoc-PIL.Image.html 0644 bin bin 28337 4902 1165145841
1 f none PIL/html/pythondoc-PIL.ImageChops.html 0644 bin bin 7912 7224 1165145841
1 f none PIL/html/pythondoc-PIL.ImageColor.html 0644 bin bin 670 55134 1165145841
1 f none PIL/html/pythondoc-PIL.ImageDraw.html 0644 bin bin 5208 44576 1165145841
1 f none PIL/html/pythondoc-PIL.ImageEnhance.html 0644 bin bin 3257 14994 1165145841
1 f none PIL/html/pythondoc-PIL.ImageFile.html 0644 bin bin 4169 17148 1165145841
1 f none PIL/html/pythondoc-PIL.ImageFileIO.html 0644 bin bin 1664 7998 1165145841
1 f none PIL/html/pythondoc-PIL.ImageFilter.html 0644 bin bin 9912 20436 1165145841
1 f none PIL/html/pythondoc-PIL.ImageFont.html 0644 bin bin 4566 58651 1165145841
1 f none PIL/html/pythondoc-PIL.ImageGL.html 0644 bin bin 884 8571 1165145841
1 f none PIL/html/pythondoc-PIL.ImageGrab.html 0644 bin bin 1051 21323 1165145841
1 f none PIL/html/pythondoc-PIL.ImageOps.html 0644 bin bin 5243 39369 1165145841
1 f none PIL/html/pythondoc-PIL.ImagePalette.html 0644 bin bin 979 17389 1165145841
1 f none PIL/html/pythondoc-PIL.ImagePath.html 0644 bin bin 1997 33527 1165145841
1 f none PIL/html/pythondoc-PIL.ImageSequence.html 0644 bin bin 1180 33917 1165145841
1 f none PIL/html/pythondoc-PIL.ImageStat.html 0644 bin bin 1249 37897 1165145841
1 f none PIL/html/pythondoc-PIL.ImageTk.html 0644 bin bin 4751 3705 1165145841
1 f none PIL/html/pythondoc-PIL.ImageTransform.html 0644 bin bin 4888 20720 1165145841
1 f none PIL/html/pythondoc-PIL.ImageWin.html 0644 bin bin 5138 34067 1165145841
1 f none PIL/html/pythondoc-PIL.ImtImagePlugin.html 0644 bin bin 907 10433 1165145841
1 f none PIL/html/pythondoc-PIL.IptcImagePlugin.html 0644 bin bin 1342 47269 1165145841
1 f none PIL/html/pythondoc-PIL.JpegImagePlugin.html 0644 bin bin 928 12146 1165145841
1 f none PIL/html/pythondoc-PIL.McIdasImagePlugin.html 0644 bin bin 958 14932 1165145841
1 f none PIL/html/pythondoc-PIL.MicImagePlugin.html 0644 bin bin 930 12408 1165145841
1 f none PIL/html/pythondoc-PIL.MpegImagePlugin.html 0644 bin bin 920 11676 1165145841
1 f none PIL/html/pythondoc-PIL.MspImagePlugin.html 0644 bin bin 910 10837 1165145841
1 f none PIL/html/pythondoc-PIL.OleFileIO.html 0644 bin bin 1986 36057 1165145841
1 f none PIL/html/pythondoc-PIL.PSDraw.html 0644 bin bin 817 1201 1165145841
1 f none PIL/html/pythondoc-PIL.PaletteFile.html 0644 bin bin 895 9573 1165145841
1 f none PIL/html/pythondoc-PIL.PalmImagePlugin.html 0644 bin bin 612 51352 1165145841
1 f none PIL/html/pythondoc-PIL.PcdImagePlugin.html 0644 bin bin 906 10075 1165145841
1 f none PIL/html/pythondoc-PIL.PcfFontFile.html 0644 bin bin 890 8266 1165145841
1 f none PIL/html/pythondoc-PIL.PcxImagePlugin.html 0644 bin bin 909 10794 1165145841
1 f none PIL/html/pythondoc-PIL.PdfImagePlugin.html 0644 bin bin 598 50097 1165145841
1 f none PIL/html/pythondoc-PIL.PixarImagePlugin.html 0644 bin bin 943 14287 1165145841
1 f none PIL/html/pythondoc-PIL.PngImagePlugin.html 0644 bin bin 902 9871 1165145841
1 f none PIL/html/pythondoc-PIL.PpmImagePlugin.html 0644 bin bin 916 10949 1165145841
1 f none PIL/html/pythondoc-PIL.PsdImagePlugin.html 0644 bin bin 908 10638 1165145841
1 f none PIL/html/pythondoc-PIL.SgiImagePlugin.html 0644 bin bin 902 9837 1165145841
1 f none PIL/html/pythondoc-PIL.SpiderImagePlugin.html 0644 bin bin 1188 36147 1165145841
1 f none PIL/html/pythondoc-PIL.SunImagePlugin.html 0644 bin bin 908 10814 1165145841
1 f none PIL/html/pythondoc-PIL.TarIO.html 0644 bin bin 1117 24594 1165145841
1 f none PIL/html/pythondoc-PIL.TgaImagePlugin.html 0644 bin bin 903 9894 1165145841
1 f none PIL/html/pythondoc-PIL.TiffImagePlugin.html 0644 bin bin 1535 64812 1165145841
1 f none PIL/html/pythondoc-PIL.TiffTags.html 0644 bin bin 723 58888 1165145841
1 f none PIL/html/pythondoc-PIL.WalImageFile.html 0644 bin bin 819 2871 1165145841
1 f none PIL/html/pythondoc-PIL.WmfImagePlugin.html 0644 bin bin 1223 38608 1165145841
1 f none PIL/html/pythondoc-PIL.XVThumbImagePlugin.html 0644 bin bin 975 17100 1165145841
1 f none PIL/html/pythondoc-PIL.XbmImagePlugin.html 0644 bin bin 903 9982 1165145841
1 f none PIL/html/pythondoc-PIL.XpmImagePlugin.html 0644 bin bin 906 10465 1165145841
1 i pkginfo 779 3339 1178923048
07070100013bb0000041ed000017820000044e000000034644f028000000000000022d0000016a00000000000000000000000600000000reloc 07070100013bb1000041ed000017820000044e000000034644f028000000000000022d0000016a00000000000000000000000a00000000reloc/PIL 07070100013bb2000081a4000017820000044e000000014572bf880000dafe0000022d0000016a00000000000000000000001200000000reloc/PIL/CHANGES The Python Imaging Library
$Id: CHANGES 2934 2006-12-03 12:14:00Z fredrik $
ACKNOWLEDGEMENTS: PIL wouldn't be what it is without the help of,
among others: David Ascher, Phil Austin, Douglas Bagnall, Larry Bates,
Anthony Baxter, William Baxter, Denis Benoit, Jan Blom, Duncan Booth,
Jeff Breidenbach, Roger Burnham, Gene Cash, Kevin Cazabon, Fred Clare,
Greg Coats, Chris Cogdon, Greg Couch, Bill Crutchfield, Abel Deuring,
Tim Docker, Fred Drake, Graham Dumpleton, Matthew Ellis, Eric
Etheridge, Robin Friedrich, Pier Paolo Glave, Federico Di Gregorio,
Markus Gritsch, Daniel Haertle, Greg Hamilton, Mark Hammond, Bernhard
Herzog, Rob Hooft, Bob Ippolito, Jack Jansen, Bill Janssen, Edward
Jones, Richard Jones, Håkan Karlsson, Robert Kern, David Kirtley, Bob
Klimek, Matthias Klose, Andrew Kuchling, Magnus Källström, Victor
Lacina, Ben Last, Hamish Lawson, Cesare Leonardi, Andrew MacIntyre,
Jan Matejek, Naveen Michaud-Agrawal, Gordon McMillan, Skip Montanaro,
Fredrik Nehr, Russell Nelson, Luciano Nocera, Travis Oliphant, Piet
van Oostrum, Richard Oudkerk, Paul Pharr, Andres Polit, Eric Raymond,
Victor Reijs, Bertil Reinhammar, Nicholas Riley, Don Rozenberg, Toby
Sargeant, Barry Scott, Les Schaffer, Joel Shprentz, Klamer Shutte,
Gene Skonicki, Niki Spahiev, D. Alan Stewart, Perry Stoll, Paul
Svensson, Ulrik Svensson, Miki Tebeka, Ivan Tkatchev, Dan Torop, Adam
Twardoch, Rune Uhlin, Dmitry Vasiliev, Sasha Voynow, Charles Waldman,
Dan Wolfe, and Ka-Ping Yee.
*** Changes from release 1.1.5 to 1.1.6 ***
(1.1.6 released)
+ Fixed some 64-bit compatibility warnings for Python 2.5.
+ Added threading support for the Sane driver (from Abel Deuring).
(1.1.6b2 released)
+ Added experimental "floodfill" function to the ImageDraw module
(based on code by Eric Raymond).
+ The default arguments for "frombuffer" doesn't match "fromstring"
and the documentation; this is a bug, and will most likely be fixed
in a future version. In this release, PIL prints a warning message
instead. To silence the warning, change any calls of the form
"frombuffer(mode, size, data)" to
frombuffer(mode, size, data, "raw", mode, 0, 1)
+ Added "fromarray" function, which takes an object implementing the
NumPy array interface and creates a PIL Image from it. (from Travis
Oliphant).
+ Added NumPy array interface support (__array_interface__) to the
Image class (based on code by Travis Oliphant).
This allows you to easily convert between PIL image memories and
NumPy arrays:
import numpy, Image
im = Image.open('lena.jpg')
a = numpy.asarray(im) # a is readonly
im = Image.fromarray(a)
+ Fixed CMYK polarity for JPEG images, by treating all images as
"Adobe CMYK" images. (thanks to Cesare Leonardi and Kevin Cazabon
for samples, debugging, and patches).
(1.1.6b1 released)
+ Added 'expand' option to the Image 'rotate' method. If true, the
output image is made large enough to hold the entire rotated image.
+ Changed the ImageDraw 'line' method to always draw the last pixel in
a polyline, independent of line angle.
+ Fixed bearing calculation and clipping in the ImageFont truetype
renderer; this could lead to clipped text, or crashes in the low-
level _imagingft module. (based on input from Adam Twardoch and
others).
+ Added ImageQt wrapper module, for converting PIL Image objects to
QImage objects in an efficient way.
+ Fixed 'getmodebands' to return the number of bands also for "PA"
and "LA" modes. Added 'getmodebandnames' helper that return the
band names.
(1.1.6a2 released)
+ Added float/double support to the TIFF loader (from Russell
Nelson).
+ Fixed broken use of realloc() in path.c (from Jan Matejek)
+ Added save support for Spider images (from William Baxter).
+ Fixed broken 'paste' and 'resize' operations in pildriver
(from Bill Janssen).
+ Added support for duplex scanning to the Sane interface (Abel
Deuring).
(1.1.6a1 released)
+ Fixed a memory leak in "convert(mode)", when converting from
L to P.
+ Added pixel access object. The "load" method now returns a
access object that can be used to directly get and set pixel
values, using ordinary [x, y] notation:
pixel = im.load()
v = pixel[x, y]
pixel[x, y] = v
If you're accessing more than a few pixels, this is a lot
faster than using getpixel/putpixel.
+ Fixed building on Cygwin (from Miki Tebeka).
+ Fixed "point(callable)" on unloaded images (reported by Håkan
Karlsson).
+ Fixed size bug in ImageWin.ImageWindow constructor (from Victor
Reijs)
+ Fixed ImageMath float() and int() operations for Python 2.4
(reported by Don Rozenberg).
+ Fixed "RuntimeError: encoder error -8 in tostring" problem for
wide "RGB", "I", and "F" images.
+ Fixed line width calculation.
(1.1.6a0 released)
+ Fixed byte order issue in Image.paste(ink) (from Ka-Ping Yee).
+ Fixed off-by-0.5 errors in the ANTIALIAS code (based on input
from Douglas Bagnall).
+ Added buffer interface support to the Path constructor. If
a buffer is provided, it is assumed to contain a flat array
of float coordinates (e.g. array.array('f', seq)).
+ Added new ImageMath module.
+ Fixed ImageOps.equalize when used with a small number of distinct
values (reported by David Kirtley).
+ Fixed potential integer division in PSDraw.image (from Eric Etheridge).
*** Changes from release 1.1 to 1.1.5 ***
(1.1.5c2 and 1.1.5 final released)
+ Added experimental PERSPECTIVE transform method (from Jeff Breiden-
bach).
(1.1.5c1 released)
+ Make sure "thumbnail" never generates zero-wide or zero-high images
(reported by Gene Skonicki)
+ Fixed a "getcolors" bug that could result in a zero count for some
colors (reported by Richard Oudkerk).
+ Changed default "convert" palette to avoid "rounding errors" when
round-tripping white source pixels (reported by Henryk Gerlach and
Jeff Epler).
(1.1.5b3 released)
+ Don't crash in "quantize" method if the number of colors requested
is larger than 256. This release raises a ValueError exception;
future versions may return a mode "RGB" image instead (reported
by Richard Oudkerk).
+ Added WBMP read/write support (based on code by Duncan Booth).
(1.1.5b2 released)
+ Added DPI read/write support to the PNG codec. The decoder sets
the info["dpi"] attribute for PNG files with appropriate resolution
settings. The encoder uses the "dpi" option (based on code by Niki
Spahiev).
+ Added limited support for "point" mappings from mode "I" to mode "L".
Only 16-bit values are supported (other values are clipped), the lookup
table must contain exactly 65536 entries, and the mode argument must be
set to "L".
+ Added support for Mac OS X icns files (based on code by Bob Ippolito).
+ Added "ModeFilter" support to the ImageFilter module.
+ Added support for Spider images (from William Baxter). See the
comments in PIL/SpiderImagePlugin.py for more information on this
format.
(1.1.5b1 released)
+ Added new Sane release (from Ralph Heinkel). See the Sane/README
and Sane/CHANGES files for more information.
+ Added experimental PngInfo chunk container to the PngImageFile
module. This can be used to add arbitrary chunks to a PNG file.
Create a PngInfo instance, use "add" or "add_text" to add chunks,
and pass the instance as the "pnginfo" option when saving the
file.
+ Added "getpalette" method. This returns the palette as a list,
or None if the image has no palette. To modify the palette, use
"getpalette" to fetch the current palette, modify the list, and
put it back using "putpalette".
+ Added optional flattening to the ImagePath "tolist" method.
tolist() or tolist(0) returns a list of 2-tuples, as before.
tolist(1) returns a flattened list instead.
(1.1.5a5 released)
+ Fixed BILINEAR/BICUBIC/ANTIALIAS filtering for mode "LA".
+ Added "getcolors()" method. This is similar to the existing histo-
gram method, but looks at color values instead of individual layers,
and returns an unsorted list of (count, color) tuples.
By default, the method returns None if finds more than 256 colors.
If you need to look for more colors, you can pass in a limit (this
is used to allocate internal tables, so you probably don't want to
pass in too large values).
+ Build improvements: Fixed building under AIX, improved detection of
FreeType2 and Mac OS X framework libraries, and more. Many thanks
to everyone who helped test the new "setup.py" script!
(1.1.5a4 released)
+ The "save" method now looks for a file format driver before
creating the file.
+ Don't use antialiased truetype fonts when drawing in mode "P", "I",
and "F" images.
+ Rewrote the "setup.py" file. The new version scans for available
support libraries, and configures both the libImaging core library
and the bindings in one step.
To use specific versions of the libraries, edit the ROOT variables
in the setup.py file.
+ Removed threaded "show" viewer; use the old "show" implementation
instead (Windows).
+ Added deprecation warnings to Image.offset, ImageDraw.setink, and
ImageDraw.setfill.
+ Added width option to ImageDraw.line(). The current implementation
works best for straight lines; it does not support line joins, so
polylines won't look good.
+ ImageDraw.Draw is now a factory function instead of a class. If
you need to create custom draw classes, inherit from the ImageDraw
class. All other code should use the factory function.
+ Fixed loading of certain PCX files (problem reported by Greg
Hamilton, who also provided samples).
+ Changed _imagingft.c to require FreeType 2.1 or newer. The
module can still be built with earlier versions; see comments
in _imagingft.c for details.
(1.1.5a3 released)
+ Added 'getim' method, which returns a PyCObject wrapping an
Imaging pointer. The description string is set to IMAGING_MAGIC.
See Imaging.h for pointer and string declarations.
+ Fixed reading of TIFF JPEG images (problem reported by Ulrik
Svensson).
+ Made ImageColor work under Python 1.5.2
+ Fixed division by zero "equalize" on very small images (from
Douglas Bagnall).
(1.1.5a2 released)
+ The "paste" method now supports the alternative "paste(im, mask)"
syntax (in this case, the box defaults to im's bounding box).
+ The "ImageFile.Parser" class now works also for PNG files with
more than one IDAT block.
+ Added DPI read/write to the TIFF codec, and fixed writing of
rational values. The decoder sets the info["dpi"] attribute
for TIFF files with appropriate resolution settings. The
encoder uses the "dpi" option.
+ Disable interlacing for small (or narrow) GIF images, to
work around what appears to be a hard-to-find bug in PIL's
GIF encoder.
+ Fixed writing of mode "P" PDF images. Made mode "1" PDF
images smaller.
+ Made the XBM reader a bit more robust; the file may now start
with a few whitespace characters.
+ Added support for enhanced metafiles to the WMF driver. The
separate PILWMF kit lets you render both placeable WMF files
and EMF files as raster images. See
http://effbot.org/downloads#pilwmf
(1.1.5a1 released)
+ Replaced broken WMF driver with a WMF stub plugin (see below).
+ Fixed writing of mode "1", "L", and "CMYK" PDF images (based on
input from Nicholas Riley and others).
+ Fixed adaptive palette conversion for zero-width or zero-height
images (from Chris Cogdon)
+ Fixed reading of PNG images from QuickTime 6 (from Paul Pharr)
+ Added support for StubImageFile plugins, including stub plugins
for BUFR, FITS, GRIB, and HDF5 files. A stub plugin can identify
a given file format, but relies on application code to open and
save files in that format.
+ Added optional "encoding" argument to the ImageFont.truetype
factory. This argument can be used to specify non-Unicode character
maps for fonts that support that. For example, to draw text using
the Microsoft Symbol font, use:
font = ImageFont.truetype("symbol.ttf", 16, encoding="symb")
draw.text((0, 0), unichr(0xF000 + 0xAA))
(note that the symbol font uses characters in the 0xF000-0xF0FF
range)
Common encodings are "unic" (Unicode), "symb" (Microsoft Symbol),
"ADOB" (Adobe Standard), "ADBE" (Adobe Expert), and "armn" (Apple
Roman). See the FreeType documentation for more information.
+ Made "putalpha" a bit more robust; you can now attach an alpha
layer to a plain "L" or "RGB" image, and you can also specify
constant alphas instead of alpha layers (using integers or colour
names).
+ Added experimental "LA" mode support.
An "LA" image is an "L" image with an attached transparency layer.
Note that support for "LA" is not complete; some operations may
fail or produce unexpected results.
+ Added "RankFilter", "MinFilter", "MedianFilter", and "MaxFilter"
classes to the ImageFilter module.
+ Improved support for applications using multiple threads; PIL
now releases the global interpreter lock for many CPU-intensive
operations (based on work by Kevin Cazabon).
+ Ignore Unicode characters in the PCF loader (from Andres Polit)
+ Fixed typo in OleFileIO.loadfat, which could affect loading of
FlashPix and Image Composer images (Daniel Haertle)
+ Fixed building on platforms that have Freetype but don't have
Tcl/Tk (Jack Jansen, Luciano Nocera, Piet van Oostrum and others)
+ Added EXIF GPSInfo read support for JPEG files. To extract
GPSInfo information, open the file, extract the exif dictionary,
and check for the key 0x8825 (GPSInfo). If present, it contains
a dictionary mapping GPS keys to GPS values. For a list of keys,
see the EXIF specification.
The "ExifTags" module contains a GPSTAGS dictionary mapping GPS
tags to tag names.
+ Added DPI read support to the PCX and DCX codecs (info["dpi"]).
+ The "show" methods now uses a built-in image viewer on Windows.
This viewer creates an instance of the ImageWindow class (see
below) and keeps it running in a separate thread. NOTE: This
was disabled in 1.1.5a4.
+ Added experimental "Window" and "ImageWindow" classes to the
ImageWin module. These classes allow you to create a WCK-style
toplevel window, and use it to display raster data.
+ Fixed some Python 1.5.2 issues (to build under 1.5.2, use the
Makefile.pre.in/Setup.in approach)
+ Added support for the TIFF FillOrder tag. PIL can read mode "1",
"L", "P" and "RGB" images with non-standard FillOrder (based on
input from Jeff Breidenbach).
(1.1.4 final released)
+ Fixed ImageTk build problem on Unix.
(1.1.4b2 released)
+ Improved building on Mac OS X (from Jack Jansen).
+ Improved building on Windows with MinGW (from Klamer Shutte).
+ If no font is specified, ImageDraw now uses the embedded default
font. Use the "load" or "truetype" methods to load a real font.
+ Added embedded default font to the ImageFont module (currently
an 8-pixel Courier font, taken from the X window distribution).
(1.1.4b1 released)
+ Added experimental EXIF support for JPEG files. To extract EXIF
information from a JPEG file, open the file as usual, and call the
"_getexif" method. If successful, this method returns a dictionary
mapping EXIF TIFF tags to values. If the file does not contain EXIF
data, the "_getexif" method returns None.
The "ExifTags" module contains a dictionary mapping tags to tag
names.
This interface will most likely change in future versions.
+ Fixed a bug when using the "transparency" option with the GIF
writer.
+ Added limited support for "bitfield compression" in BMP files
and DIB buffers, for 15-bit, 16-bit, and 32-bit images. This
also fixes a problem with ImageGrab module when copying screen-
dumps from the clipboard on 15/16/32-bit displays.
+ Added experimental WAL (Quake 2 textures) loader. To use this
loader, import WalImageFile and call the "open" method in that
module.
(1.1.4a4 released)
+ Added updated SANE driver (Andrew Kuchling, Abel Deuring)
+ Use Python's "mmap" module on non-Windows platforms to read some
uncompressed formats using memory mapping. Also added a "frombuffer"
function that allows you to access the contents of an existing string
or buffer object as if it were an image object.
+ Fixed a memory leak that could appear when processing mode "P"
images (from Pier Paolo Glave)
+ Ignore Unicode characters in the BDF loader (from Graham Dumpleton)
(1.1.4a3 released; windows only)
+ Added experimental RGBA-on-RGB drawing support. To use RGBA
colours on an RGB image, pass "RGBA" as the second string to
the ImageDraw.Draw constructor.
+ Added support for non-ASCII strings (Latin-1) and Unicode
to the truetype font renderer.
+ The ImageWin "Dib" object can now be constructed directly from
an image object.
+ The ImageWin module now allows you use window handles as well
as device contexts. To use a window handle, wrap the handle in
an ImageWin.HWND object, and pass in this object instead of the
device context.
(1.1.4a2 released)
+ Improved support for 16-bit unsigned integer images (mode "I;16").
This includes TIFF reader support, and support for "getextrema"
and "point" (from Klamer Shutte).
+ Made the BdfFontFile reader a bit more robust (from Kevin Cazabon
and Dmitry Vasiliev)
+ Changed TIFF writer to always write Compression tag, even when
using the default compression (from Greg Couch).
+ Added "show" support for Mac OS X (from Dan Wolfe).
+ Added clipboard support to the "ImageGrab" module (Windows only).
The "grabclipboard" function returns an Image object, a list of
filenames (not in 1.1.4), or None if neither was found.
(1.1.4a1 released)
+ Improved support for drawing RGB data in palette images. You can
now use RGB tuples or colour names (see below) when drawing in a
mode "P" image. The drawing layer automatically assigns color
indexes, as long as you don't use more than 256 unique colours.
+ Moved self test from MiniTest/test.py to ./selftest.py.
+ Added support for CSS3-style color strings to most places that
accept colour codes/tuples. This includes the "ImageDraw" module,
the Image "new" function, and the Image "paste" method.
Colour strings can use one of the following formats: "#f00",
"#ff0000", "rgb(255,0,0)", "rgb(100%,0%,0%)", "hsl(0, 100%, 50%)",
or "red" (most X11-style colour names are supported). See the
documentation for the "ImageColor" module for more information.
+ Fixed DCX decoder (based on input from Larry Bates)
+ Added "IptcImagePlugin.getiptcinfo" helper to extract IPTC/NAA
newsphoto properties from JPEG, TIFF, or IPTC files.
+ Support for TrueType/OpenType fonts has been added to
the standard distribution. You need the freetype 2.0
library.
+ Made the PCX reader a bit more robust when reading 2-bit
and 4-bit PCX images with odd image sizes.
+ Added "Kernel" class to the ImageFilter module. This class
allows you to filter images with user-defined 3x3 and 5x5
convolution kernels.
+ Added "putdata" support for mode "I", "F" and "RGB".
+ The GIF writer now supports the transparency option (from
Denis Benoit).
+ A HTML version of the module documentation is now shipped
with the source code distribution. You'll find the files in
the Doc subdirectory.
+ Added support for Palm pixmaps (from Bill Janssen). This
change was listed for 1.1.3, but the "PalmImagePlugin" driver
didn't make it into the distribution.
+ Improved decoder error messages.
(1.1.3 final released)
+ Made setup.py look for old versions of zlib. For some back-
ground, see: http://www.gzip.org/zlib/advisory-2002-03-11.txt
(1.1.3c2 released)
+ Added setup.py file (tested on Unix and Windows). You still
need to build libImaging/imaging.lib in the traditional way,
but the setup.py script takes care of the rest.
The old Setup.in/Makefile.pre.in build method is still
supported.
+ Fixed segmentation violation in ANTIALIAS filter (an internal
buffer wasn't properly allocated).
(1.1.3c1 released)
+ Added ANTIALIAS downsampling filter for high-quality "resize"
and "thumbnail" operations. Also added filter option to the
"thumbnail" operation; the default value is NEAREST, but this
will most likely change in future versions.
+ Fixed plugin loader to be more robust if the __file__
variable isn't set.
+ Added seek/tell support (for layers) to the PhotoShop
loader. Layer 0 is the main image.
+ Added new (but experimental) "ImageOps" module, which provides
shortcuts for commonly used operations on entire images.
+ Don't mess up when loading PNG images if the decoder leaves
data in the output buffer. This could cause internal errors
on some PNG images, with some versions of ZLIB. (Bug report
and patch provided by Bernhard Herzog.)
+ Don't mess up on Unicode filenames.
+ Don't mess up when drawing on big endian platforms.
+ Made the TIFF loader a bit more robust; it can now read some
more slightly broken TIFF files (based on input from Ted Wright,
Bob Klimek, and D. Alan Stewart)
+ Added OS/2 EMX build files (from Andrew MacIntyre)
+ Change "ImageFont" to reject image files if they don't have the
right mode. Older versions could leak memory for "P" images.
(Bug reported by Markus Gritsch).
+ Renamed some internal functions to avoid potential build
problem on Mac OS X.
+ Added DL_EXPORT where relevant (for Cygwin, based on input
from Robert Yodlowski)
+ (re)moved bogus __init__ call in BdfFontFile (bug spotted
by Fred Clare)
+ Added "ImageGrab" support (Windows only)
+ Added support for XBM hotspots (based on code contributed by
Bernhard Herzog).
+ Added write support for more TIFF tags, namely the Artist,
Copyright, DateTime, ResolutionUnit, Software, XResolution and
YResolution tags (from Greg Couch)
+ Added TransposedFont wrapper to ImageFont module
+ Added "optimize" flag to GIF encoder. If optimize is present
and non-zero, PIL will work harder to create a small file.
+ Raise "EOFError" (not IndexError) when reading beyond the
end of a TIFF sequence.
+ Support rewind ("seek(0)") for GIF and TIFF sequences.
+ Load grayscale GIF images as mode "L"
+ Added DPI read/write support to the JPEG codec. The decoder
sets the info["dpi"] attribute for JPEG files with JFIF dpi
settings. The encoder uses the "dpi" option:
im = Image.open("file.jpg")
dpi = im.info["dpi"] # raises KeyError if DPI not known
im.save("out.jpg", dpi=dpi)
Note that PIL doesn't always preserve the "info" attribute
for normal image operations.
(1.1.2c1 and 1.1.2 final released)
+ Adapted to Python 2.1. Among other things, all uses of the
"regex" module has been repleased with "re".
+ Fixed attribute error when reading large PNG files (this bug
was introduced in maintenance code released after the 1.1.1
release)
+ Ignore non-string objects in sys.path
+ Fixed Image.transform(EXTENT) for negative xoffsets
+ Fixed loading of image plugins if PIL is installed as a package.
(The plugin loader now always looks in the directory where the
Image.py module itself is found, even if that directory isn't on
the standard search path)
+ The Png plugin has been added to the list of preloaded standard
formats
+ Fixed bitmap/text drawing in fill mode.
+ Fixed "getextrema" to work also for multiband images.
+ Added transparency support for L and P images to the PNG codec.
+ Improved support for read-only images. The "load" method now
sets the "readonly" attribute for memory-mapped images. Operations
that modifies an image in place (such as "paste" and drawing operations)
creates an in-memory copy of the image, if necessary. (before this
change, any attempt to modify a memory-mapped image resulted in a
core dump...)
+ Added special cases for lists everywhere PIL expects a sequence.
This should speed up things like "putdata" and drawing operations.
+ The Image.offset method is deprecated. Use the ImageChops.offset
function instead.
+ Changed ImageChops operators to copy palette and info dictionary
from the first image argument.
(1.1.1 released)
+ Additional fixes for Python 1.6/2.0, including TIFF "save" bug.
+ Changed "init" to properly load plugins when PIL is used as a
package.
+ Fixed broken "show" method (on Unix)
*** Changes from release 1.0 to 1.1 ***
+ Adapted to Python 1.6 ("append" and other method changes)
+ Fixed Image.paste when pasting with solid colour and matte
layers ("L" or "RGBA" masks) (bug reported by Robert Kern)
+ To make it easier to distribute prebuilt versions of PIL,
the tkinit binding stuff has been moved to a separate
extension module, named "_imagingtk".
*** Changes from release 0.3b2 to 1.0 final ***
+ If there's no 16-bit integer (like on a Cray T3E), set
INT16 to the smallest integer available. Most of the
library works just fine anyway (from Bill Crutchfield)
+ Tweaks to make drawing work on big-endian platforms.
(1.0c2 released)
+ If PIL is built with the WITH_TKINTER flag, ImageTk can
automatically hook into a standard Tkinter build. You
no longer need to build your own Tkinter to use the
ImageTk module.
The old way still works, though. For more information,
see Tk/install.txt.
+ Some tweaks to ImageTk to support multiple Tk interpreters
(from Greg Couch).
+ ImageFont "load_path" now scans directory mentioned in .pth
files (from Richard Jones).
(1.0c1 released)
+ The TIFF plugin has been rewritten. The new plugin fully
supports all major PIL image modes (including F and I).
+ The ImageFile module now includes a Parser class, which can
be used to incrementally decode an image file (while down-
loading it from the net, for example). See the handbook for
details.
+ "show" now converts non-standard modes to "L" or "RGB" (as
appropriate), rather than writing weird things to disk for
"xv" to choke upon. (bug reported by Les Schaffer).
(1.0b2 released)
+ Major speedups for rotate, transform(EXTENT), and transform(AFFINE)
when using nearest neighbour resampling.
+ Modified ImageDraw to be compatible with the Arrow graphics
interface. See the handbook for details.
+ PIL now automatically loads file codecs when used as a package
(from The Dragon De Monsyne). Also included an __init__.py file
in the standard distribution.
+ The GIF encoder has been modified to produce much smaller files.
PIL now uses a run-length encoding method to encode GIF files.
On a random selection of GIF images grabbed from the web, this
version makes the images about twice as large as the original
LZW files, where the earlier version made them over 5 times
larger. YMMV, of course.
+ Added PCX write support (works with "1", "P", "L", and "RGB")
+ Added "bitmap" and "textsize" methods to ImageDraw.
+ Improved font rendering code. Fixed a bug or two, and moved
most of the time critical stuff to C.
+ Removed "bdf2pil.py". Use "pilfont.py" instead!
+ Improved 16-bit support (still experimental, though).
The following methods now support "I;16" and "I;16B" images:
"getpixel", "copy", "convert" (to and from mode "I"), "resize",
"rotate", and "transform" with nearest neighbour filters, and
"save" using the IM format. The "new" and "open" functions
also work as expected. On Windows, 16-bit files are memory
mapped.
NOTE: ALL other operations are still UNDEFINED on 16-bit images.
+ The "paste" method now supports constant sources.
Just pass a colour value (a number or a tuple, depending on
the target image mode) instead of the source image.
This was in fact implemented in an inefficient way in
earlier versions (the "paste" method generated a temporary
source image if you passed it a colour instead of an image).
In this version, this is handled on the C level instead.
+ Added experimental "RGBa" mode support.
An "RGBa" image is an RGBA image where the colour components
have have been premultipled with the alpha value. PIL allows
you to convert an RGBA image to an RGBa image, and to paste
RGBa images on top of RGB images. Since this saves a bunch
of multiplications and shifts, it is typically about twice
as fast an ordinary RGBA paste.
+ Eliminated extra conversion step when pasting "RGBA" or "RGBa"
images on top of "RGB" images.
+ Fixed Image.BICUBIC resampling for "RGB" images.
+ Fixed PCX image file handler to properly read 8-bit PCX
files (bug introduced in 1.0b1, reported by Bernhard
Herzog)
+ Fixed PSDraw "image" method to restore the coordinate
system.
+ Fixed "blend" problem when applied to images that was
not already loaded (reported by Edward C. Jones)
+ Fixed -f option to "pilconvert.py" (from Anthony Baxter)
(1.0b1 released)
+ Added Toby J. Sargeant's quantization package. To enable
quantization, use the "palette" option to "convert":
imOut = im.convert("P", palette=Image.ADAPTIVE)
This can be used with "L", "P", and "RGB" images. In this
version, dithering cannot be used with adaptive palettes.
Note: ADAPTIVE currently maps to median cut quantization
with 256 colours. The quantization package also contains
a maximum coverage quantizer, which will be supported by
future versions of PIL.
+ Added Eric S. Raymond's "pildriver" image calculator to the
distribution. See the docstring for more information.
+ The "offset" method no longer dumps core if given positive
offsets (from Charles Waldman).
+ Fixed a resource leak that could cause ImageWin to run out of
GDI resources (from Roger Burnham).
+ Added "arc", "chord", and "pieslice" methods to ImageDraw (inspired
by code contributed by Richard Jones).
+ Added experimental 16-bit support, via modes "I;16" (little endian
data) and "I;16B" (big endian). Only a few methods properly support
such images (see above).
+ Added XV thumbnail file handler (from Gene Cash).
+ Fixed BMP image file handler to handle palette images with small
palettes (from Rob Hooft).
+ Fixed Sun raster file handler for palette images (from Charles
Waldman).
+ Improved various internal error messages.
+ Fixed Path constructor to handle arbitrary sequence objects. This
also affects the ImageDraw class (from Richard Jones).
+ Fixed a bug in JpegDecode that caused PIL to report "decoder error
-2" for some progressive JPEG files (reported by Magnus Källström,
who also provided samples).
+ Fixed a bug in JpegImagePlugin that caused PIL to hang when loading
JPEG files using 16-bit quantization tables.
+ The Image "transform" method now supports Image.QUAD transforms.
The data argument is an 8-tuple giving the upper left, lower
left, lower right, and upper right corner of the source quadri-
lateral. Also added Image.MESH transform which takes a list
of quadrilaterals.
+ The Image "resize", "rotate", and "transform" methods now support
Image.BILINEAR (2x2) and Image.BICUBIC (4x4) resampling filters.
Filters can be used with all transform methods.
+ The ImageDraw "rectangle" method now includes both the right
and the bottom edges when drawing filled rectangles.
+ The TGA decoder now works properly for runlength encoded images
which have more than one byte per pixel.
+ "getbands" on an YCbCr image now returns ("Y", "Cb", "Cr")
+ Some file drivers didn't handle the optional "modify" argument
to the load method. This resulted in exceptions when you used
"paste" (and other methods that modify an image in place) on a
newly opened file.
*** Changes from release 0.2 (b5) to 0.3 (b2) ***
(0.3b2 released)
The test suite includes 825 individual tests.
+ An Image "getbands" method has been added. It returns a tuple
containing the individual band names for this image. To figure
out how many bands an image has, use "len(im.getbands())".
+ An Image "putpixel" method has been added.
+ The Image "point" method can now be used to convert "L" images
to any other format, via a lookup table. That table should
contain 256 values for each band in the output image.
+ Some file drivers (including FLI/FLC, GIF, and IM) accidently
overwrote the offset method with an internal attribute. All
drivers have been updated to use private attributes where
possible.
+ The Image "histogram" method now works for "I" and "F" images.
For these modes, PIL divides the range between the min and
max values used in the image into 256 bins. You can also
pass in your own min and max values via the "extrema" option:
h = im.histogram(extrema=(0, 255))
+ An Image "getextrema" method has been added. It returns the
min and max values used in the image. In this release, this
works for single band images only.
+ Changed the PNG driver to load and save mode "I" images as
16-bit images. When saving, values outside the range 0..65535
are clipped.
+ Fixed ImageFont.py to work with the new "pilfont" compiler.
+ Added JPEG "save" and "draft" support for mode "YCbCr" images.
Note that if you save an "YCbCr" image as a JPEG file and read
it back, it is read as an RGB file. To get around this, you
can use the "draft" method:
im = Image.open("color.jpg")
im.draft("YCbCr", im.size)
+ Read "RGBA" TGA images. Also fixed the orientation bug; all
images should now come out the right way.
+ Changed mode name (and internal representation) from "YCrCb"
to "YCbCr" (!)
*** WARNING: MAY BREAK EXISTING CODE ***
(0.3b1 released)
The test suite includes 750 individual tests.
+ The "pilfont" package is now included in the standard PIL
distribution. The pilfont utility can be used to convert
X BDF and PCF raster font files to a format understood by
the ImageFont module.
+ GIF files are now interlaced by default. To write a
non-interlaced file, pass interlace=0 to the "save"
method.
+ The default string format has changed for the "fromstring"
and "tostring" methods.
*** WARNING: MAY BREAK EXISTING CODE ***
NOTE: If no extra arguments are given, the first line in
the string buffer is the top line of the image, instead of
the bottom line. For RGB images, the string now contains
3 bytes per pixel instead of 4. These changes were made
to make the methods compatible with the "fromstring"
factory function.
To get the old behaviour, use the following syntax:
data = im.tostring("raw", "RGBX", 0, -1)
im.fromstring(data, "raw", "RGBX", 0, -1)
+ "new" no longer gives a MemoryError if the width or height
is zero (this only happened on platforms where malloc(0)
or calloc(0) returns NULL).
+ "new" now adds a default palette object to "P" images.
+ You can now convert directly between all modes supported by
PIL. When converting colour images to "P", PIL defaults to
a "web" palette and dithering. When converting greyscale
images to "1", PIL uses a thresholding and dithering.
+ Added a "dither" option to "convert". By default, "convert"
uses floyd-steinberg error diffusion for "P" and "1" targets,
so this option is only used to *disable* dithering. Allowed
values are NONE (no dithering) or FLOYDSTEINBERG (default).
imOut = im.convert("P", dither=Image.NONE)
+ Added a full set of "I" decoders. You can use "fromstring"
(and file decoders) to read any standard integer type as an
"I" image.
+ Added some support for "YCbCr" images (creation, conversion
from/to "L" and "RGB", IM YCC load/save)
+ "getpixel" now works properly with fractional coordinates.
+ ImageDraw "setink" now works with "I", "F", "RGB", "RGBA",
"RGBX", "CMYK", and "YCbCr" images.
+ ImImagePlugin no longer attaches palettes to "RGB" images.
+ Various minor fixes.
(0.3a4 released)
+ Added experimental IPTC/NAA support.
+ Eliminated AttributeError exceptions after "crop" (from
Skip Montanaro)
+ Reads some uncompressed formats via memory mapping (this
is currently supported on Win32 only)
+ Fixed some last minute glitches in the last alpha release
(Types instead of types in Image.py, version numbers, etc.)
+ Eliminated some more bogus compiler warnings.
+ Various fixes to make PIL compile and run smoother on Macs
(from Jack Jansen).
+ Fixed "fromstring" and "tostring" for mode "I" images.
(0.3a3 released)
The test suite includes 530 individual tests.
+ Eliminated unexpected side-effect in "paste" with matte. "paste"
now works properly also if compiled with "gcc".
+ Adapted to Python 1.5 (build issues only)
+ Fixed the ImageDraw "point" method to draw also the last
point (!).
+ Added "I" and "RGBX" support to Image.new.
+ The plugin path is now properly prepended to the module search
path when a plugin module is imported.
+ Added "draw" method to the ImageWin.Dib class. This is used by
Topaz to print images on Windows printers.
+ "convert" now supports conversions from "P" to "1" and "F".
+ "paste" can now take a colour instead of an image as the first argument.
The colour must match the colour argument given to the new function, and
match the mode of the target image.
+ Fixed "paste" to allow a mask also for mode "F" images.
+ The BMP driver now saves mode "1" images. When loading images, the mode
is set to "L" for 8-bit files with greyscale palettes, and to "P" for
other 8-bit files.
+ The IM driver now reads and saves "1" images (file modes "0 1" or "L 1").
+ The JPEG and GIF drivers now saves "1" images. For JPEG, the image
is saved as 8-bit greyscale (it will load as mode "L"). For GIF, the
image will be loaded as a "P" image.
+ Fixed a potential buffer overrun in the GIF encoder.
(0.3a2 released)
The test suite includes 400 individual tests.
+ Improvements to the test suite revealed a number of minor bugs, which
are all fixed. Note that crop/paste, 32-bit ImageDraw, and ImageFont
are still weak spots in this release.
+ Added "putpalette" method to the Image class. You can use this
to add or modify the palette for "P" and "L" images. If a palette
is added to an "L" image, it is automatically converted to a "P"
image.
+ Fixed ImageDraw to properly handle 32-bit image memories
("RGB", "RGBA", "CMYK", "F")
+ Fixed "fromstring" and "tostring" not to mess up the mode attribute
in default mode.
+ Changed ImPlatform.h to work on CRAY's (don't have one at home, so I
haven't tried it). The previous version assumed that either "short"
or "int" were 16-bit wide. PIL still won't compile on platforms where
neither "short", "int" nor "long" are 32-bit wide.
+ Added file= and data= keyword arguments to PhotoImage and BitmapImage.
This allows you to use them as drop-in replacements for the corre-
sponding Tkinter classes.
+ Removed bogus references to the crack coder (ImagingCrack).
(0.3a1 released)
+ Make sure image is loaded in "tostring".
+ Added floating point packer (native 32-bit floats only).
*** Changes from release 0.1b1 to 0.2 (b5) ***
+ Modified "fromstring" and "tostring" methods to use file codecs.
Also added "fromstring" factory method to create an image directly
from data in a string.
+ Added support for 32-bit floating point images (mode "F"). You
can convert between "L" and "F" images, and apply a subset of the
available image processing methods on the "F" image. You can also
read virtually any data format into a floating point image memory;
see the section on "Decoding Floating Point Data" in the handbook
for more information.
(0.2b5 released; on windows only)
+ Fixed the tobitmap() method to work properly for small bitmaps.
+ Added RMS and standard deviation to the ImageStat.Stat class. Also
modified the constructor to take an optional feature mask, and also
to accept either an image or a list containing the histogram data.
+ The BitmapImage code in ImageTk can now use a special bitmap
decoder, which has to be patched into Tk. See the "Tk/pilbitmap.txt"
file for details. If not installed, bitmaps are transferred to Tk as
XBM strings.
+ The PhotoImage code in ImageTk now uses a Tcl command ("PyImagingPaste")
instead of a special image type. This gives somewhat better performance,
and also allows PIL to support transparency.
*** WARNING: TKAPPINIT MUST BE MODIFIED ***
+ ImageTk now honours the alpha layer in RGBA images. Only fully
transparent pixels are made transparent (that is, the alpha layer
is treated as a mask). To treat the alpha laters as a matte, you
must paste the image on the background before handing it over to
ImageTk.
+ Added McIdas reader (supports 8-bit images only).
+ PIL now preloads drivers for BMP, GIF, JPEG, PPM, and TIFF. As
long as you only load and save these formats, you don't have to
wait for a full scan for drivers. To force scanning, call the
Image.init() function.
+ The "seek" and "tell" methods are now always available, also for
single-frame images.
+ Added optional mask argument to histogram method. The mask may
be an "1" or "L" image with the same size as the original image.
Only pixels where the mask is non-zero are included in the
histogram.
+ The "paste" method now allows you to specify only the lower left
corner (a 2-tuple), instead of the full region (a 4-tuple).
+ Reverted to old plugin scanning model; now scans all directory
names in the path when looking for plugins.
+ Added PIXAR raster support. Only uncompressed ("dumped") RGB
images can currently be read (based on information provided
by Greg Coats).
+ Added FlashPix (FPX) read support. Reads all pixel formats, but
only the highest resolution is read, and the viewing transform is
currently ignored.
+ Made PNG encoding somewhat more efficient in "optimize" mode; a
bug in 0.2b4 didn't enable all predictor filters when optimized
storage were requested.
+ Added Microsoft Image Composer (MIC) read support. When opened,
the first sprite in the file is loaded. You can use the seek method
to load additional sprites from the file.
+ Properly reads "P" and "CMYK" PSD images.
+ "pilconvert" no longer optimizes by default; use the -o option to
make the file as small as possible (at the expense of speed); use
the -q option to set the quality when compressing to JPEG.
+ Fixed "crop" not to drop the palette for "P" images.
+ Added and verified FLC support.
+ Paste with "L" or "RGBA" alpha is now several times faster on most
platforms.
+ Changed Image.new() to initialize the image to black, as described
in the handbook. To get an uninitialized image, use None as the
colour.
+ Fixed the PDF encoder to produce a valid header; Acrobat no longer
complains when you load PDF images created by PIL.
+ PIL only scans fully-qualified directory names in the path when
looking for plugins.
*** WARNING: MAY BREAK EXISTING CODE ***
+ Faster implementation of "save" used when filename is given,
or when file object has "fileno" and "flush" methods.
+ Don't crash in "crop" if region extends outside the source image.
+ Eliminated a massive memory leak in the "save" function.
+ The GIF decoder doesn't crash if the code size is set to an illegal
value. This could happen since another bug didn't handle local
palettes properly if they didn't have the same size as the
global palette (not very common).
+ Added predictor support (TIFF 6.0 section 14) to the TIFF decoder.
+ Fixed palette and padding problems in BMP driver. Now properly
writes "1", "L", "P" and "RGB" images.
+ Fixed getpixel()/getdata() to return correct pixel values.
+ Added PSD (PhotoShop) read support. Reads both uncompressed
and compressed images of most types.
+ Added GIF write support (writes "uncompressed" GIF files only,
due to unresolvable licensing issues). The "gifmaker.py" script
can be used to create GIF animations.
+ Reads 8-bit "L" and "P" TGA images. Also reads 16-bit "RGB"
images.
+ Added FLI read support. This driver has only been tested
on a few FLI samples.
+ Reads 2-bit and 4-bit PCX images.
+ Added MSP read and write support. Both version 1 and 2 can be
read, but only version 1 (uncompressed) files are written.
+ Fixed a bug in the FLI/FLC identification code that caused the
driver to raise an exception when parsing valid FLI/FLC files.
+ Improved performance when loading file format plugins, and when
opening files.
+ Added GIF animation support, via the "seek" and "tell" methods.
You can use "player.py" to play an animated GIF file.
+ Removed MNG support, since the spec is changing faster than I
can change the code. I've added support for the experimental
ARG format instead. Contact me for more information on this
format.
+ Added keyword options to the "save" method. The following options
are currently supported:
format option description
--------------------------------------------------------
JPEG optimize minimize output file at the
expense of compression speed.
JPEG progressive enable progressive output. the
option value is ignored.
JPEG quality set compression quality (1-100).
the default value is 75.
JPEG smooth smooth dithered images. value
is strengh (1-100). default is
off (0).
PNG optimize minimize output file at the
expense of compression speed.
Expect more options in future releases. Also note that
file writers silently ignore unknown options.
+ Plugged memory leaks in the PNG and TIFF decoders.
+ Added PNG write support.
+ (internal) RGB unpackers and converters now set the pad byte
to 255 (full opacity).
+ Properly handles the "transparency" property for GIF, PNG
and XPM files.
+ Added a "putalpha" method, allowing you to attach a "1" or "L"
image as the alpha layer to an "RGBA" image.
+ Various improvements to the sample scripts:
"pilconvert" Carries out some extra tricks in order to make
the resulting file as small as possible.
"explode" (NEW) Split an image sequence into individual frames.
"gifmaker" (NEW) Convert a sequence file into a GIF animation.
Note that the GIF encoder create "uncompressed" GIF
files, so animations created by this script are
rather large (typically 2-5 times the compressed
sizes).
"image2py" (NEW) Convert a single image to a python module. See
comments in this script for details.
"player" If multiple images are given on the command line,
they are interpreted as frames in a sequence. The
script assumes that they all have the same size.
Also note that this script now can play FLI/FLC
and GIF animations.
This player can also execute embedded Python
animation applets (ARG format only).
"viewer" Transparent images ("P" with transparency property,
and "RGBA") are superimposed on the standard Tk back-
ground.
+ Fixed colour argument to "new". For multilayer images, pass a
tuple: (Red, Green, Blue), (Red, Green, Blue, Alpha), or (Cyan,
Magenta, Yellow, Black).
+ Added XPM (X pixmap) read support.
(0.2b3 released)
+ Added MNG (multi-image network graphics) read support. "Ming"
is a proposed animation standard, based on the PNG file format.
You can use the "player" sample script to display some flavours
of this format. The MNG standard is still under development,
as is this driver. More information, including sample files,
can be found at Image plugin for Targa files. For more information about this class, see The TgaImageFile Class. Image plugin for IPTC/NAA datastreams. For more information about this class, see The IptcImageFile Class. Image plugin for IPTC/NAA datastreams. To read IPTC/NAA fields
from TIFF and JPEG files, use the getiptcinfo function.
Texture factory. For more information about this class, see The TextureFactory Class. A simple 2D drawing interface for PIL images. For more information about this class, see The ImageDraw Class. A simple 2D drawing interface for PIL images.
Application code should use the Draw factory, instead of
directly.
Image plugin for PIXAR raster images. For more information about this class, see The PixarImageFile Class. Colour palette wrapper for palette mapped images. For more information about this class, see The ImagePalette Class. Image plugin for Microsoft's Image Composer file format. For more information about this class, see The MicImageFile Class. The ImageFileIO module can be used to read an image from a
socket, or any other stream device. For more information about this class, see The ImageFileIO Class. The ImageFileIO module can be used to read an image from a
socket, or any other stream device.
This module is deprecated. New code should use the Parser
class in the ImageFile module instead.
Adds buffering to a stream file object, in order to
provide seek and tell methods required
by the Image.open method. The stream object must
implement read and close methods.
Base class for raster font file handlers. For more information about this class, see The FontFile Class. This class implements an iterator object that can be used to loop
over an image sequence. For more information about this class, see The Iterator Class. Blur filter. For more information about this class, see The BLUR Class. Contour filter. For more information about this class, see The CONTOUR Class. Detail filter. For more information about this class, see The DETAIL Class. Edge enhancement filter. For more information about this class, see The EDGE_ENHANCE Class. Stronger edge enhancement filter. For more information about this class, see The EDGE_ENHANCE_MORE Class. Embossing filter. For more information about this class, see The EMBOSS Class. Edge-finding filter. For more information about this class, see The FIND_EDGES Class. Convolution filter kernel. For more information about this class, see The Kernel Class. Max filter. For more information about this class, see The MaxFilter Class. Median filter. For more information about this class, see The MedianFilter Class. Min filter. For more information about this class, see The MinFilter Class. Mode filter. For more information about this class, see The ModeFilter Class. Rank filter. For more information about this class, see The RankFilter Class. Sharpening filter. For more information about this class, see The SHARPEN Class. Smoothing filter. For more information about this class, see The SMOOTH Class. Stronger smoothing filter. For more information about this class, see The SMOOTH_MORE Class. Create a convolution kernel. The current version only
supports 3x3 and 5x5 integer and floating point kernels.
In the current version, kernels can only be applied to
"L" and "RGB" images.
Image plugin for PBM, PGM, and PPM images. For more information about this class, see The PpmImageFile Class. Image plugin for Paintbrush images. For more information about this class, see The PcxImageFile Class. The ImageStat module calculates global statistics for an
image, or a region of an image.
Calculate statistics for the given image. For more information about this class, see The Stat Class. Define an affine image transform. For more information about this class, see The AffineTransform Class. Define a transform to extract a subregion from an image. For more information about this class, see The ExtentTransform Class. Define an mesh image transform. For more information about this class, see The MeshTransform Class. Define an quad image transform. For more information about this class, see The QuadTransform Class. Define an affine image transform.
This function takes a 6-tuple (a, b, c, d, e, f) which
contain the first two rows from an affine transform matrix. For
each pixel (x, y) in the output image, the new value is
taken from a position (a x + b y + c,
d x + e y + f) in the input image, rounded to
nearest pixel.
This function can be used to scale, translate, rotate, and shear the
original image.
Define a transform to extract a subregion from an image.
Maps a rectangle (defined by two corners) from the image to a
rectangle of the given size. The resulting image will contain
data sampled from between the corners, such that (x0, y0)
in the input image will end up at (0,0) in the output image,
and (x1, y1) at size.
This method can be used to crop, stretch, shrink, or mirror an
arbitrary rectangle in the current image. It is slightly slower than
crop, but about as fast as a corresponding resize
operation.
Define an quad image transform.
Maps a quadrilateral (a region defined by four corners) from the
image to a rectangle of the given size.
Image plugin for Windows Icon files. For more information about this class, see The IcoImageFile Class. Brightness enhancement object. For more information about this class, see The Brightness Class. Color enhancement object. For more information about this class, see The Color Class. Contrast enhancement object. For more information about this class, see The Contrast Class. Sharpness enhancement object. For more information about this class, see The Sharpness Class. Brightness enhancement object.
This class can be used to control the brighntess of an image. An
enhancement factor of 0.0 gives a black image, factor 1.0 gives the
original image.
Color enhancement object.
This class can be used to adjust the colour balance of an image, in
a manner similar to the controls on a colour TV set. An enhancement
factor of 0.0 gives a black and white image, a factor of 1.0 gives
the original image.
Contrast enhancement object.
This class can be used to control the contrast of an image, similar
to the contrast control on a TV set. An enhancement factor of 0.0
gives an solid grey image, factor 1.0 gives the original image.
Sharpness enhancement object.
This class can be used to adjust the sharpness of an image. The
enhancement factor 0.0 gives a blurred image, 1.0 gives the original
image, and a factor of 2.0 gives a sharpened image.
Image plugin for the Spider image format. This format is is used
by the SPIDER software, in processing image data from electron
microscopy and tomography. Image plugin for the SPIDER format. For more information about this class, see The SpiderImageFile Class. Image plugin for the SPIDER format. Image plugin for Windows MSP images. For more information about this class, see The MspImageFile Class. Image plugin for PhotoCD images. For more information about this class, see The PcdImageFile Class. Image plugin for IM Tools images. For more information about this class, see The ImtImageFile Class. File handler for Teragon-style palette files. For more information about this class, see The PaletteFile Class. Image plugin for X11 bitmaps. For more information about this class, see The XbmImageFile Class. The ImageChops module contains a number of arithmetical image
operations, called channel operations ("chops"). These can be
used for various purposes, including special effects, image
compositions, algorithmic painting, and more.
At this time, channel operations are only implemented for 8-bit
images (e.g. "L" and "RGB").
Most channel operations take one or two image arguments and returns
a new image. Unless otherwise noted, the result of a channel
operation is always clipped to the range 0 to MAX (which is 255 for
all modes supported by the operations in this module).
Add images
((image1 + image2) / scale + offset).
Adds two images, dividing the result by scale and adding the
offset. If omitted, scale defaults to 1.0, and offset to 0.0.
Add images without clipping
((image1 + image2) % MAX).
Adds two images, without clipping the result.
Blend images using constant transparency weight.
Same as the blend function in the Image module.
Create composite using transparency mask.
Same as the composite function in the Image module.
Compare images, and return darker pixel value
(min(image1, image2)).
Compares the two images, pixel by pixel, and returns a new image
containing the darker values.
Calculate absolute difference
(abs(image1 - image2)).
Returns the absolute value of the difference between the two images.
Compare images, and return lighter pixel value
(max(image1, image2)).
Compares the two images, pixel by pixel, and returns a new image
containing the lighter values.
Superimpose positive images
(image1 * image2 / MAX).
Superimposes two images on top of each other. If you multiply an
image with a solid black image, the result is black. If you multiply
with a solid white image, the image is unaffected.
Offset image data.
Returns a copy of the image where data has been offset by the given
distances. Data wraps around the edges. If yoffset is omitted, it
is assumed to be equal to xoffset.
Superimpose negative images
(MAX - ((MAX - image1) * (MAX - image2) / MAX)).
Superimposes two inverted images on top of each other.
Subtract images
((image1 - image2) / scale + offset).
Subtracts two images, dividing the result by scale and adding the
offset. If omitted, scale defaults to 1.0, and offset to 0.0.
Subtract images without clipping
((image1 - image2) % MAX).
Subtracts two images, without clipping the result.
Wrapper for FreeType fonts. For more information about this class, see The FreeTypeFont Class. The ImageFont module defines a class with the same name. For more information about this class, see The ImageFont Class. Wrapper that creates a transposed font from any existing font
object. For more information about this class, see The TransposedFont Class. Load a TrueType or OpenType font file, and create a font object.
This function loads a font object from the given file, and creates
a font object for a font of the given size.
This function requires the _imagingft service.
Wrapper for FreeType fonts. Application code should use the
truetype factory function to create font objects.
The ImageFont module defines a class with the same name.
Instances of this class store bitmap fonts, and are used with the
text method of the ImageDraw class.
PIL uses it's own font file format to store bitmap fonts. You can
use the pilfont utility to convert BDF and PCF font
descriptors (X window font formats) to this format.
Starting with version 1.1.4, PIL can be configured to support
TrueType and OpenType fonts. For earlier version, TrueType
support is only available as part of the imToolkit package
Font file plugin for the X11 BDF format. For more information about this class, see The BdfFontFile Class. The following pages are generated from pythondoc markup in the source files. Path wrapper. For more information about this class, see The Path Class. Image plugin for SGI images. For more information about this class, see The SgiImageFile Class. Wrapper for TIFF IFDs. For more information about this class, see The ImageFileDirectory Class. Image plugin for TIFF files. For more information about this class, see The TiffImageFile Class. Font file plugin for the X11 PCF format. For more information about this class, see The PcfFontFile Class. Image plugin for X11 pixel maps. For more information about this class, see The XpmImageFile Class. Image plugin for Windows metafiles. For more information about this class, see The WmfStubImageFile Class. (Internal) Support class for the Parser file. For more information about this class, see The _ParserFile Class. Base class for image file handlers. For more information about this class, see The ImageFile Class. Incremental image parser. For more information about this class, see The Parser Class. Base class for stub image loaders. For more information about this class, see The StubImageFile Class. (Internal) Support class for the Parser file.
Base class for stub image loaders.
A stub loader is an image loader that can identify files of a
certain format, but relies on external code to load the file.
Image plugin for McIdas area images. For more information about this class, see The McIdasImageFile Class. Image plugin for Windows Cursor files. For more information about this class, see The CurImageFile Class. Image plugin for the experimental Animated Raster Graphics format. For more information about this class, see The ArgImageFile Class. Image plugin for the GIMP brush format. For more information about this class, see The GbrImageFile Class. Create a Windows bitmap with the given mode and size. For more information about this class, see The Dib Class. The ImageWin module contains support to create and display
images under Windows 95/98, NT, 2000 and later. For more information about this class, see The HDC Class. Create an image window which displays the given image. For more information about this class, see The ImageWindow Class. Create a Window with the given title size. For more information about this class, see The Window Class. Create a Windows bitmap with the given mode and size. The mode can
be one of "1", "L", "P", or "RGB".
If the display requires a palette, this constructor creates a
suitable palette and associates it with the image. For an "L" image,
128 greylevels are allocated. For an "RGB" image, a 6x6x6 colour
cube is used, together with 20 greylevels.
To make sure that palettes work properly under Windows, you must
call the palette method upon certain events from Windows.
Installs the palette associated with the image in the
given device context.
This method should be called upon QUERYNEWPALETTE
and PALETTECHANGED events from Windows. If this
method returns a non-zero value, one or more display
palette entries were changed, and the image should be
redrawn.
The ImageWin module contains support to create and display
images under Windows 95/98, NT, 2000 and later.
(New in 1.1.3) The ImageOps module contains a number of
'ready-made' image processing operations. This module is somewhat
experimental, and most operators only work on L and RGB images.
Maximize (normalize) image contrast. This function calculates a
histogram of the input image, removes cutoff percent of the
lightest and darkest pixels from the histogram, and remaps the image
so that the darkest pixel becomes black (0), and the lightest
becomes white (255).
Colorize grayscale image. The black and white
arguments should be RGB tuples; this function calculates a colour
wedge mapping all black pixels in the source image to the first
colour, and all white pixels to the second colour.
Returns a sized and cropped version of the image, cropped to the
requested aspect ratio and size.
The fit function was contributed by Kevin Cazabon.
Image plugin for Photoshop images. For more information about this class, see The PsdImageFile Class. Image plugin for Sun raster files. For more information about this class, see The SunImageFile Class. Load texture from a Quake2 WAL texture file.
By default, a Quake2 standard palette is attached to the texture.
To override the palette, use the putpalette method.
Image plugin for the FlashPix images. For more information about this class, see The FpxImageFile Class. (New in 1.1.3) The ImageGrab module can be used to copy
the contents of the screen to a PIL image memory.
The current version works on Windows only. A file object that provides read access to a part of an existing
file (for example a TAR file). For more information about this class, see The ContainerIO Class. Image plugin for the Intel DCX format. For more information about this class, see The DcxImageFile Class. Image plugin for Mac OS icons. For more information about this class, see The IcnsImageFile Class. File handler for GIMP's gradient format. For more information about this class, see The GimpGradientFile Class. Image plugin for the Windows BMP format. For more information about this class, see The BmpImageFile Class. Image plugin for JPEG and JFIF images. For more information about this class, see The JpegImageFile Class. Image plugin for the FLI/FLC animation format. For more information about this class, see The FliImageFile Class. Image plugin for the FLI/FLC animation format. Use the seek
method to load individual frames.
File handler for GIMP's palette format. For more information about this class, see The GimpPaletteFile Class. This class encapsulates the interface to an OLE 2 structured
storage file. For more information about this class, see The OleFileIO Class. This class encapsulates the interface to an OLE 2 structured
storage file. Use the listdir and openstream
methods to access the contents of this file.
Simple Postscript graphics interface. For more information about this class, see The PSDraw Class. Image plugin for XV thumbnail images. For more information about this class, see The XVThumbImageFile Class. Image plugin for GIF images. For more information about this class, see The GifImageFile Class. Image plugin for the IFUNC IM file format. For more information about this class, see The ImImageFile Class. Creates a new image by interpolating between two input images, using
a constant alpha.
The PIL.TgaImagePlugin Module
The TgaImageFile Class
07070100013be2000081a4000017820000044e000000014572b6f10000053e0000022d0000016a00000000000000000000003200000000reloc/PIL/html/pythondoc-PIL.IptcImagePlugin.html
The PIL.IptcImagePlugin Module
The IptcImageFile Class
07070100013bd7000081a4000017820000044e000000014572b6f1000003740000022d0000016a00000000000000000000002a00000000reloc/PIL/html/pythondoc-PIL.ImageGL.html
The PIL.ImageGL Module
Module Contents
The TextureFactory Class
07070100013bd1000081a4000017820000044e000000014572b6f1000014580000022d0000016a00000000000000000000002c00000000reloc/PIL/html/pythondoc-PIL.ImageDraw.html
The PIL.ImageDraw Module
The ImageDraw Class
07070100013bf0000081a4000017820000044e000000014572b6f1000003af0000022d0000016a00000000000000000000003300000000reloc/PIL/html/pythondoc-PIL.PixarImagePlugin.html
The PIL.PixarImagePlugin Module
The PixarImageFile Class
07070100013bda000081a4000017820000044e000000014572b6f1000003d30000022d0000016a00000000000000000000002f00000000reloc/PIL/html/pythondoc-PIL.ImagePalette.html
The PIL.ImagePalette Module
The ImagePalette Class
07070100013bc0000081a4000017820000044e000000014572b6f1000002ad0000022d0000016a00000000000000000000003600000000reloc/PIL/html/pythondoc-PIL.FitsStubImagePlugin.html
The PIL.FitsStubImagePlugin Module
07070100013be5000081a4000017820000044e000000014572b6f1000003a20000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.MicImagePlugin.html
The PIL.MicImagePlugin Module
The MicImageFile Class
07070100013bd4000081a4000017820000044e000000014572b6f1000006800000022d0000016a00000000000000000000002e00000000reloc/PIL/html/pythondoc-PIL.ImageFileIO.html
The PIL.ImageFileIO Module
The ImageFileIO Class
07070100013bc2000081a4000017820000044e000000014572b6f1000003470000022d0000016a00000000000000000000002b00000000reloc/PIL/html/pythondoc-PIL.FontFile.html
The PIL.FontFile Module
The FontFile Class
07070100013bdc000081a4000017820000044e000000014572b6f10000049c0000022d0000016a00000000000000000000003000000000reloc/PIL/html/pythondoc-PIL.ImageSequence.html
The PIL.ImageSequence Module
The Iterator Class
07070100013bd5000081a4000017820000044e000000014572b6f1000026b80000022d0000016a00000000000000000000002e00000000reloc/PIL/html/pythondoc-PIL.ImageFilter.html
The PIL.ImageFilter Module
The BLUR Class
The CONTOUR Class
The DETAIL Class
The EDGE_ENHANCE Class
The EDGE_ENHANCE_MORE Class
The EMBOSS Class
The FIND_EDGES Class
The Kernel Class
The MaxFilter Class
The MedianFilter Class
The MinFilter Class
The ModeFilter Class
The RankFilter Class
The SHARPEN Class
The SMOOTH Class
The SMOOTH_MORE Class
07070100013bf2000081a4000017820000044e000000014572b6f1000003940000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.PpmImagePlugin.html
The PIL.PpmImagePlugin Module
The PpmImageFile Class
07070100013bee000081a4000017820000044e000000014572b6f10000038d0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.PcxImagePlugin.html
The PIL.PcxImagePlugin Module
The PcxImageFile Class
07070100013bdd000081a4000017820000044e000000014572b6f1000004e10000022d0000016a00000000000000000000002c00000000reloc/PIL/html/pythondoc-PIL.ImageStat.html
The PIL.ImageStat Module
Module Contents
The Stat Class
07070100013bdf000081a4000017820000044e000000014572b6f1000013180000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.ImageTransform.html
The PIL.ImageTransform Module
The AffineTransform Class
The ExtentTransform Class
The MeshTransform Class
The QuadTransform Class
07070100013bcc000081a4000017820000044e000000014572b6f10000038e0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.IcoImagePlugin.html
The PIL.IcoImagePlugin Module
The IcoImageFile Class
07070100013bef000081a4000017820000044e000000014572b6f1000002560000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.PdfImagePlugin.html
The PIL.PdfImagePlugin Module
Module Contents
07070100013bd2000081a4000017820000044e000000014572b6f100000cb90000022d0000016a00000000000000000000002f00000000reloc/PIL/html/pythondoc-PIL.ImageEnhance.html
The PIL.ImageEnhance Module
The Brightness Class
The Color Class
The Contrast Class
The Sharpness Class
07070100013bf5000081a4000017820000044e000000014572b6f1000004a40000022d0000016a00000000000000000000003400000000reloc/PIL/html/pythondoc-PIL.SpiderImagePlugin.html
The PIL.SpiderImagePlugin Module
Module Contents
The SpiderImageFile Class
07070100013be7000081a4000017820000044e000000014572b6f10000038e0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.MspImagePlugin.html
The PIL.MspImagePlugin Module
The MspImageFile Class
07070100013bba000081a4000017820000044e000000014572b6f1000002ad0000022d0000016a00000000000000000000003600000000reloc/PIL/html/pythondoc-PIL.BufrStubImagePlugin.html
The PIL.BufrStubImagePlugin Module
07070100013bec000081a4000017820000044e000000014572b6f10000038a0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.PcdImagePlugin.html
The PIL.PcdImagePlugin Module
The PcdImageFile Class
07070100013be1000081a4000017820000044e000000014572b6f10000038b0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.ImtImagePlugin.html
The PIL.ImtImagePlugin Module
The ImtImageFile Class
07070100013bea000081a4000017820000044e000000014572b6f10000037f0000022d0000016a00000000000000000000002e00000000reloc/PIL/html/pythondoc-PIL.PaletteFile.html
The PIL.PaletteFile Module
The PaletteFile Class
07070100013bb5000081a4000017820000044e000000014572b6f1000008db0000022d0000016a00000000000000000000001a00000000reloc/PIL/html/effbot.css /* effbot.css */
BODY {
font: 100% Georgia, Times, serif;
color: black;
margin: 0px 20px 0px 20px;
}
#effbot-body {
background: white;
padding: 10px 40px 10px 40px;
max-width: 50em;
}
#effbot-menu {
display: none;
}
.adsense {
background: #f8fff8;
border: 1px solid #084;
padding: 10px 4px 4px 4px;
}
.sidebar {
border: 1px solid #000;
float: right; clear: right;
width: 200px;
background: white;
padding: 10px;
margin: 0px -25px 10px 0px;
}
/* visual style */
P {
line-height: 1.3em;
}
CODE, PRE {
font: 100% "Courier New", Courier, Monaco, monospace;
color: #042; margin-left: 20px;
}
H1, H2, H3 {
font-family: Georgia, Times, serif;
color: #084; margin-top: 30px;
}
H1, H2, { border-top: 1px solid #084; }
H4, H5, H6 {
font-family: Georgia, Times, serif;
color: #084; margin-top: 15px;
}
A:link, A:hover { color: #084; }
A:visited { color: #404040; }
UL LI { list-style-type: square; }
.title { margin-bottom: 2px; color: #084; }
.info { font-size: 80%; color: #084; margin-top: 0px; }
.bluebox { color: #084; margin-top: 10px; }
.highlight { background: #cfc; }
.mark { color: #084; }
.small { font-size: 80%; }
.display { background: #eee; padding: 20px; }
.note {
background: #efe;
border-top: 1px solid #084;
border-bottom: 1px solid #084;
padding: 2px 20px;
}
.example {
border-top: medium solid #084;
border-bottom: medium solid #084;
padding: 5px;
}
.figure {
border-top: medium solid #084;
border-bottom: medium solid #084;
padding: 5px;
}
.fixme {
background: #eee;
border: 1px solid #084;
padding: 2x 20px;
}
.simpletable {
border: 1px solid #084;
border-collapse: collapse;
}
.simpletable TH {
text-align: left;
background: #cfc;
border: 1px solid #084;
margin: 0px;
padding: 1px 5px;
}
.simpletable TD {
border: 1px solid #084;
margin: 0px;
padding: 5px;
}
/* xmldiff markup */
.new { text-decoration: underline; color: red; background: #fff0f0; }
.old { text-decoration: line-through; color: blue; background: #f0f0ff; }
07070100013bfe000081a4000017820000044e000000014572b6f1000003870000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.XbmImagePlugin.html
The PIL.XbmImagePlugin Module
The XbmImageFile Class
07070100013bcf000081a4000017820000044e000000014572b6f100001ee80000022d0000016a00000000000000000000002d00000000reloc/PIL/html/pythondoc-PIL.ImageChops.html
The PIL.ImageChops Module
Module Contents
07070100013bd6000081a4000017820000044e000000014572b6f1000011d60000022d0000016a00000000000000000000002c00000000reloc/PIL/html/pythondoc-PIL.ImageFont.html
The PIL.ImageFont Module
The FreeTypeFont Class
The ImageFont Class
The TransposedFont Class
07070100013bc9000081a4000017820000044e000000014572b6f1000002ad0000022d0000016a00000000000000000000003600000000reloc/PIL/html/pythondoc-PIL.GribStubImagePlugin.html
The PIL.GribStubImagePlugin Module
07070100013bb8000081a4000017820000044e000000014572b6f10000037a0000022d0000016a00000000000000000000002e00000000reloc/PIL/html/pythondoc-PIL.BdfFontFile.html
The PIL.BdfFontFile Module
The BdfFontFile Class
07070100013bb6000081a4000017820000044e000000014572b6f100001c950000022d0000016a00000000000000000000001a00000000reloc/PIL/html/index.html
The Python Imaging Library
Online Resources
Package Contents
07070100013bdb000081a4000017820000044e000000014572b6f1000007cd0000022d0000016a00000000000000000000002c00000000reloc/PIL/html/pythondoc-PIL.ImagePath.html
The PIL.ImagePath Module
The Path Class
07070100013bf4000081a4000017820000044e000000014572b6f1000003860000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.SgiImagePlugin.html
The PIL.SgiImagePlugin Module
The SgiImageFile Class
07070100013bf9000081a4000017820000044e000000014572b6f1000005ff0000022d0000016a00000000000000000000003200000000reloc/PIL/html/pythondoc-PIL.TiffImagePlugin.html
The PIL.TiffImagePlugin Module
The ImageFileDirectory Class
The TiffImageFile Class
07070100013bed000081a4000017820000044e000000014572b6f10000037a0000022d0000016a00000000000000000000002e00000000reloc/PIL/html/pythondoc-PIL.PcfFontFile.html
The PIL.PcfFontFile Module
The PcfFontFile Class
07070100013bff000081a4000017820000044e000000014572b6f10000038a0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.XpmImagePlugin.html
The PIL.XpmImagePlugin Module
The XpmImageFile Class
07070100013bfa000081a4000017820000044e000000014572b6f1000002d30000022d0000016a00000000000000000000002b00000000reloc/PIL/html/pythondoc-PIL.TiffTags.html
The PIL.TiffTags Module
Module Contents
07070100013bfc000081a4000017820000044e000000014572b6f1000004c70000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.WmfImagePlugin.html
The PIL.WmfImagePlugin Module
The WmfStubImageFile Class
07070100013bd3000081a4000017820000044e000000014572b6f1000010490000022d0000016a00000000000000000000002c00000000reloc/PIL/html/pythondoc-PIL.ImageFile.html
The PIL.ImageFile Module
The _ParserFile Class
The ImageFile Class
The Parser Class
The StubImageFile Class
07070100013be4000081a4000017820000044e000000014572b6f1000003be0000022d0000016a00000000000000000000003400000000reloc/PIL/html/pythondoc-PIL.McIdasImagePlugin.html
The PIL.McIdasImagePlugin Module
The McIdasImageFile Class
07070100013bbc000081a4000017820000044e000000014572b6f1000003900000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.CurImagePlugin.html
The PIL.CurImagePlugin Module
The CurImageFile Class
07070100013bb7000081a4000017820000044e000000014572b6f1000003ac0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.ArgImagePlugin.html
The PIL.ArgImagePlugin Module
The ArgImageFile Class
07070100013bc4000081a4000017820000044e000000014572b6f1000003910000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.GbrImagePlugin.html
The PIL.GbrImagePlugin Module
The GbrImageFile Class
07070100013be0000081a4000017820000044e000000014572b6f1000014120000022d0000016a00000000000000000000002b00000000reloc/PIL/html/pythondoc-PIL.ImageWin.html
The PIL.ImageWin Module
The Dib Class
The HDC Class
The ImageWindow Class
The Window Class
07070100013bd9000081a4000017820000044e000000014572b6f10000147b0000022d0000016a00000000000000000000002b00000000reloc/PIL/html/pythondoc-PIL.ImageOps.html
The PIL.ImageOps Module
Module Contents
07070100013bf3000081a4000017820000044e000000014572b6f10000038c0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.PsdImagePlugin.html
The PIL.PsdImagePlugin Module
The PsdImageFile Class
07070100013bf6000081a4000017820000044e000000014572b6f10000038c0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.SunImagePlugin.html
The PIL.SunImagePlugin Module
The SunImageFile Class
07070100013bfb000081a4000017820000044e000000014572b6f1000003330000022d0000016a00000000000000000000002f00000000reloc/PIL/html/pythondoc-PIL.WalImageFile.html
The PIL.WalImageFile Module
07070100013bc3000081a4000017820000044e000000014572b6f10000038f0000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.FpxImagePlugin.html
The PIL.FpxImagePlugin Module
The FpxImageFile Class
07070100013bd8000081a4000017820000044e000000014572b6f10000041b0000022d0000016a00000000000000000000002c00000000reloc/PIL/html/pythondoc-PIL.ImageGrab.html
The PIL.ImageGrab Module
Module Contents
07070100013bbb000081a4000017820000044e000000014572b6f100000b1b0000022d0000016a00000000000000000000002e00000000reloc/PIL/html/pythondoc-PIL.ContainerIO.html
The PIL.ContainerIO Module
The ContainerIO Class
07070100013bd0000081a4000017820000044e000000014572b6f10000029e0000022d0000016a00000000000000000000002d00000000reloc/PIL/html/pythondoc-PIL.ImageColor.html
The PIL.ImageColor Module
07070100013bbd000081a4000017820000044e000000014572b6f1000003900000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.DcxImagePlugin.html
The PIL.DcxImagePlugin Module
The DcxImageFile Class
07070100013bcb000081a4000017820000044e000000014572b6f1000003980000022d0000016a00000000000000000000003200000000reloc/PIL/html/pythondoc-PIL.IcnsImagePlugin.html
The PIL.IcnsImagePlugin Module
The IcnsImageFile Class
07070100013bc7000081a4000017820000044e000000014572b6f1000003ca0000022d0000016a00000000000000000000003300000000reloc/PIL/html/pythondoc-PIL.GimpGradientFile.html
The PIL.GimpGradientFile Module
The GimpGradientFile Class
07070100013bb9000081a4000017820000044e000000014572b6f1000003920000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.BmpImagePlugin.html
The PIL.BmpImagePlugin Module
The BmpImageFile Class
07070100013be3000081a4000017820000044e000000014572b6f1000003a00000022d0000016a00000000000000000000003200000000reloc/PIL/html/pythondoc-PIL.JpegImagePlugin.html
The PIL.JpegImagePlugin Module
The JpegImageFile Class
07070100013bc1000081a4000017820000044e000000014572b6f1000004050000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.FliImagePlugin.html
The PIL.FliImagePlugin Module
The FliImageFile Class
07070100013beb000081a4000017820000044e000000014572b6f1000002640000022d0000016a00000000000000000000003200000000reloc/PIL/html/pythondoc-PIL.PalmImagePlugin.html
The PIL.PalmImagePlugin Module
Module Contents
07070100013bc8000081a4000017820000044e000000014572b6f1000003b90000022d0000016a00000000000000000000003200000000reloc/PIL/html/pythondoc-PIL.GimpPaletteFile.html
The PIL.GimpPaletteFile Module
The GimpPaletteFile Class
07070100013be8000081a4000017820000044e000000014572b6f1000007c20000022d0000016a00000000000000000000002c00000000reloc/PIL/html/pythondoc-PIL.OleFileIO.html
The PIL.OleFileIO Module
The OleFileIO Class
07070100013be9000081a4000017820000044e000000014572b6f1000003310000022d0000016a00000000000000000000002900000000reloc/PIL/html/pythondoc-PIL.PSDraw.html
The PIL.PSDraw Module
The PSDraw Class
07070100013bca000081a4000017820000044e000000014572b6f1000002ad0000022d0000016a00000000000000000000003600000000reloc/PIL/html/pythondoc-PIL.Hdf5StubImagePlugin.html
The PIL.Hdf5StubImagePlugin Module
07070100013bbf000081a4000017820000044e000000014572b6f1000002db0000022d0000016a00000000000000000000002b00000000reloc/PIL/html/pythondoc-PIL.ExifTags.html
The PIL.ExifTags Module
Module Contents
07070100013bfd000081a4000017820000044e000000014572b6f1000003cf0000022d0000016a00000000000000000000003500000000reloc/PIL/html/pythondoc-PIL.XVThumbImagePlugin.html
The PIL.XVThumbImagePlugin Module
The XVThumbImageFile Class
07070100013bc6000081a4000017820000044e000000014572b6f1000003860000022d0000016a00000000000000000000003100000000reloc/PIL/html/pythondoc-PIL.GifImagePlugin.html
The PIL.GifImagePlugin Module
The GifImageFile Class
07070100013bcd000081a4000017820000044e000000014572b6f1000003840000022d0000016a00000000000000000000003000000000reloc/PIL/html/pythondoc-PIL.ImImagePlugin.html
The PIL.ImImagePlugin Module
The ImImageFile Class
07070100013bce000081a4000017820000044e000000014572b6f100006eb10000022d0000016a00000000000000000000002800000000reloc/PIL/html/pythondoc-PIL.Image.html
The PIL.Image Module
out = image1 * (1.0 - alpha) + image2 * alpha
(New in 1.1.4) Creates an image memory from pixel data in a string or byte buffer.
This function is similar to fromstring, but uses data in the byte buffer, where possible. This means that changes to the original buffer object are reflected in this image). Not all modes can share memory; support modes include "L", "RGBX", "RGBA", and "CMYK". For other modes, this function behaves like a corresponding call to the fromstring function.
Note that this function decodes pixel data only, not entire images. If you have an entire image file in a string, wrap it in a StringIO object, and use open to load it.
Creates an image memory from pixel data in a string.
In its simplest form, this function takes three arguments (mode, size, and unpacked pixel data).
You can also use any pixel decoder supported by PIL. For more information on available decoders, see the section Writing Your Own File Decoder.
Note that this function decodes pixel data only, not entire images. If you have an entire image in a string, wrap it in a StringIO object, and use open to load it.
Gets a list of individual band names. Given a mode, this function returns a tuple containing the names of individual bands (use getmodetype to get the mode used to store each individual band.
This class represents an image object.
For more information about this class, see The Image Class.
Opens and identifies the given image file.
This is a lazy operation; this function identifies the file, but the actual image data is not read from the file until you try to process the data (or call the load method).
Returns a converted copy of this image. For the "P" mode, this method translates pixels through the palette. If mode is omitted, a mode is chosen so that all information in the image and the palette can be represented without a palette.
The current version supports all possible conversions between "L", "RGB" and "CMYK."
When translating a colour image to black and white (mode "L"), the library uses the ITU-R 601-2 luma transform:
L = R * 299/1000 + G * 587/1000 + B * 114/1000
When translating a greyscale image into a bilevel image (mode "1"), all non-zero values are set to 255 (white). To use other thresholds, use the point method.
Returns a rectangular region from this image. The box is a 4-tuple defining the left, upper, right, and lower pixel coordinate.
This is a lazy operation. Changes to the source image may or may not be reflected in the cropped image. To break the connection, call the load method on the cropped copy.
Configures the image file loader so it returns a version of the image that as closely as possible matches the given mode and size. For example, you can use this method to convert a colour JPEG to greyscale while loading it, or to extract a 128x192 version from a PCD file.
Note that this method modifies the Image object in place. If the image has already been loaded, this method has no effect.
Filters this image using the given filter. For a list of available filters, see the ImageFilter module.
Loads this image with pixel data from a string.
This method is similar to the fromstring function, but loads data into this image instead of creating a new image object.
Returns a tuple containing the name of each band in this image. For example, getbands on an RGB image returns ("R", "G", "B").
Returns the contents of this image as a sequence object containing pixel values. The sequence object is flattened, so that values for line one follow directly after the values of line zero, and so on.
Note that the sequence object returned by this method is an internal PIL data type, which only supports certain sequence operations. To convert it to an ordinary sequence (e.g. for printing), use list(im.getdata()).
Returns a histogram for the image. The histogram is returned as a list of pixel counts, one for each pixel value in the source image. If the image has more than one band, the histograms for all bands are concatenated (for example, the histogram for an "RGB" image contains 768 values).
A bilevel image (mode "1") is treated as a greyscale ("L") image by this method.
If a mask is provided, the method returns a histogram for those parts of the image where the mask image is non-zero. The mask image must have the same size as the image, and be either a bi-level image (mode "1") or a greyscale image ("L").
(Deprecated) Returns a copy of the image where the data has been offset by the given distances. Data wraps around the edges. If yoffset is omitted, it is assumed to be equal to xoffset.
This method is deprecated. New code should use the offset function in the ImageChops module.
Pastes another image into this image. The box argument is either a 2-tuple giving the upper left corner, a 4-tuple defining the left, upper, right, and lower pixel coordinate, or None (same as (0, 0)). If a 4-tuple is given, the size of the pasted image must match the size of the region.
If the modes don't match, the pasted image is converted to the mode of this image (see the convert method for details).
Instead of an image, the source can be a integer or tuple containing pixel values. The method then fills the region with the given colour. When creating RGB images, you can also use colour strings as supported by the ImageColor module.
If a mask is given, this method updates only the regions indicated by the mask. You can use either "1", "L" or "RGBA" images (in the latter case, the alpha band is used as mask). Where the mask is 255, the given image is copied as is. Where the mask is 0, the current value is preserved. Intermediate values can be used for transparency effects.
Note that if you paste an "RGBA" image, the alpha band is ignored. You can work around this by using the same image as both source image and mask.
An optional 4-tuple giving the region to paste into. If a 2-tuple is used instead, it's treated as the upper left corner. If omitted or None, the source is pasted into the upper left corner.
If an image is given as the second argument and there is no third, the box defaults to (0, 0), and the second argument is interpreted as a mask image.
Copies pixel data to this image. This method copies data from a sequence object into the image, starting at the upper left corner (0, 0), and continuing until either the image or the sequence ends. The scale and offset values are used to adjust the sequence values: pixel = value*scale + offset.
Modifies the pixel at the given position. The colour is given as a single numerical value for single-band images, and a tuple for multi-band images.
Note that this method is relatively slow. For more extensive changes, use paste or the ImageDraw module instead.
Saves this image under the given filename. If no format is specified, the format to use is determined from the filename extension, if possible.
Keyword options can be used to provide additional instructions to the writer. If a writer doesn't recognise an option, it is silently ignored. The available options are described later in this handbook.
You can use a file object instead of a filename. In this case, you must always specify the format. The file object must implement the seek, tell, and write methods, and be opened in binary mode.
Seeks to the given frame in this sequence file. If you seek beyond the end of the sequence, the method raises an EOFError exception. When a sequence file is opened, the library automatically seeks to frame 0.
Note that in the current version of the library, most sequence formats only allows you to seek to the next frame.
Displays this image. This method is mainly intended for debugging purposes.
On Unix platforms, this method saves the image to a temporary PPM file, and calls the xv utility.
On Windows, it saves the image to a temporary BMP file, and uses the standard BMP display utility to show it (usually Paint).
Make this image into a thumbnail. This method modifies the image to contain a thumbnail version of itself, no larger than the given size. This method calculates an appropriate thumbnail size to preserve the aspect of the image, calls the draft method to configure the file reader (where applicable), and finally resizes the image.
Note that the bilinear and bicubic filters in the current version of PIL are not well-suited for thumbnail generation. You should use ANTIALIAS unless speed is much more important than quality.
Also note that this function modifies the Image object in place. If you need to use the full resolution image as well, apply this method to a copy of the original image.
Transforms this image. This method creates a new image with the given size, and the same mode as the original, and copies data to the new image using the given transform.
Image plugin for Encapsulated Postscript.
For more information about this class, see The EpsImageFile Class.
Image plugin for PNG images.
For more information about this class, see The PngImageFile Class.
A file object that provides read access to a given member of a TAR file.
For more information about this class, see The TarIO Class.
The ImageTk module contains support to create and modify Tkinter BitmapImage and PhotoImage objects.
For examples, see the demo programs in the Scripts directory.
Create a Tkinter-compatible bitmap image.
For more information about this class, see The BitmapImage Class.
Creates a Tkinter-compatible photo image.
For more information about this class, see The PhotoImage Class.
Create a Tkinter-compatible bitmap image.
The given image must have mode "1". Pixels having value 0 are treated as transparent. Options, if any, are passed on to Tkinter. The most commonly used option is foreground, which is used to specify the colour for the non-transparent parts. See the Tkinter documentation for information on how to specify colours.
Create a photo image object. The constructor takes either a PIL image, or a mode and a size. Alternatively, you can use the file or data options to initialize the photo image object.
Image plugin for the GD uncompressed format.
For more information about this class, see The GdImageFile Class.
Image plugin for the GD uncompressed format. Note that this format is not supported by the standard Image.open function. To use this plugin, you have to import the GdImageFile module and use the GdImageFile.open function.
Image plugin for MPEG streams.
For more information about this class, see The MpegImageFile Class.