-----
- Where earlier versions accepted lists, this version accepts arbitrary
Python sequences (including strings, in some cases). A few resource
leaks were plugged in the process.
- The Image "paste" method now allows the box to extend outside
the target image. The size of the box, the image to be pasted,
and the optional mask must still match.
- The ImageDraw module now supports filled polygons, outlined and
filled ellipses, and text. Font support is rudimentary, though.
- The Image "point" method now takes an optional mode argument,
allowing you to convert the image while translating it. Currently,
this can only be used to convert "L" or "P" images to "1" images
(creating thresholded images or "matte" masks).
- An Image "getpixel" method has been added. For single band images,
it returns the pixel value at a given position as an integer.
For n-band images, it returns an n-tuple of integers.
- An Image "getdata" method has been added. It returns a sequence
object representing the image as a 1-dimensional array. Only len()
and [] can be used with this sequence. This method returns a
reference to the existing image data, so changes in the image
will be immediately reflected in the sequence object.
- Fixed alignment problems in the Windows BMP writer.
- If converting an "RGB" image to "RGB" or "L", you can give a second
argument containing a colour conversion matrix.
- An Image "getbbox" method has been added. It returns the bounding
box of data in an image, considering the value 0 as background.
- An Image "offset" method has been added. It returns a new image
where the contents of the image have been offset the given distance
in X and/or Y direction. Data wraps between edges.
- Saves PDF images. The driver creates a binary PDF 1.1 files, using
JPEG compression for "L", "RGB", and "CMYK" images, and hex encoding
(same as for PostScript) for other formats.
- The "paste" method now accepts "1" masks. Zero means transparent,
any other pixel value means opaque. This is faster than using an
"L" transparency mask.
- Properly writes EPS files (and properly prints images to PostScript
printers as well).
- Reads 4-bit BMP files, as well as 4 and 8-bit Windows ICO and CUR
files. Cursor animations are not supported.
- Fixed alignment problems in the Sun raster loader.
- Added "draft" and "thumbnail" methods. The draft method is used
to optimize loading of JPEG and PCD files, the thumbnail method is
used to create a thumbnail representation of an image.
- Added Windows display support, via the ImageWin class (see the
handbook for details).
- Added raster conversion for EPS files. This requires GNU or Aladdin
Ghostscript, and probably works on UNIX only.
- Reads PhotoCD (PCD) images. The base resolution (768x512) can be
read from a PhotoCD file.
- Eliminated some compiler warnings. Bindings now compile cleanly in C++
mode. Note that the Imaging library itself must be compiled in C mode.
- Added "bdf2pil.py", which converts BDF fonts into images with associated
metrics. This is definitely work in progress. For info, see description
in script for details.
- Fixed a bug in the "ImageEnhance.py" module.
- Fixed a bug in the netpbm save hack in "GifImagePlugin.py"
- Fixed 90 and 270 degree rotation of rectangular images.
- Properly reads 8-bit TIFF palette-color images.
- Reads plane separated RGB and CMYK TIFF images.
- Added driver debug mode. This is enabled by setting Image.DEBUG
to a non-zero value. Try the -D option to "pilfile.py" and see what
happens.
- Don't crash on "atend" constructs in PostScript files.
- Only the Image module imports _imaging directly. Other modules
should refer to the binding module as "Image.core".