1
3
The Python Imaging Library
2
$Id: CHANGES 2934 2006-12-03 12:14:00Z fredrik $
4
ACKNOWLEDGEMENTS: PIL wouldn't be what it is without the help of,
5
among others: David Ascher, Phil Austin, Douglas Bagnall, Larry Bates,
6
Anthony Baxter, William Baxter, Denis Benoit, Jan Blom, Duncan Booth,
7
Jeff Breidenbach, Roger Burnham, Gene Cash, Kevin Cazabon, Fred Clare,
8
Greg Coats, Chris Cogdon, Greg Couch, Bill Crutchfield, Abel Deuring,
9
Tim Docker, Fred Drake, Graham Dumpleton, Matthew Ellis, Eric
10
Etheridge, Robin Friedrich, Pier Paolo Glave, Federico Di Gregorio,
11
Markus Gritsch, Daniel Haertle, Greg Hamilton, Mark Hammond, Bernhard
12
Herzog, Rob Hooft, Bob Ippolito, Jack Jansen, Bill Janssen, Edward
13
Jones, Richard Jones, H�kan Karlsson, Robert Kern, David Kirtley, Bob
14
Klimek, Matthias Klose, Andrew Kuchling, Magnus K�llstr�m, Victor
15
Lacina, Ben Last, Hamish Lawson, Cesare Leonardi, Andrew MacIntyre,
16
Jan Matejek, Naveen Michaud-Agrawal, Gordon McMillan, Skip Montanaro,
17
Fredrik Nehr, Russell Nelson, Luciano Nocera, Travis Oliphant, Piet
18
van Oostrum, Richard Oudkerk, Paul Pharr, Andres Polit, Eric Raymond,
19
Victor Reijs, Bertil Reinhammar, Nicholas Riley, Don Rozenberg, Toby
20
Sargeant, Barry Scott, Les Schaffer, Joel Shprentz, Klamer Shutte,
21
Gene Skonicki, Niki Spahiev, D. Alan Stewart, Perry Stoll, Paul
22
Svensson, Ulrik Svensson, Miki Tebeka, Ivan Tkatchev, Dan Torop, Adam
23
Twardoch, Rune Uhlin, Dmitry Vasiliev, Sasha Voynow, Charles Waldman,
24
Dan Wolfe, and Ka-Ping Yee.
6
ACKNOWLEDGEMENTS: PIL wouldn't be what it is without the help of:
7
David Ascher, Phil Austin, Douglas Bagnall, Larry Bates, Anthony
8
Baxter, William Baxter, Denis Benoit, Jan Blom, Duncan Booth, Alexey
9
Borzenkov, Jeff Breidenbach, Roger Burnham, Zac Burns, Gene Cash,
10
Kevin Cazabon, Fred Clare, Greg Coats, Chris Cogdon, Greg Couch, Bill
11
Crutchfield, Abel Deuring, Tim Docker, Fred Drake, Graham Dumpleton,
12
Matthew Ellis, Eric Etheridge, Daniel Fetchinson, Robin Friedrich,
13
Pier Paolo Glave, Federico Di Gregorio, Markus Gritsch, Daniel
14
Haertle, Greg Hamilton, Mark Hammond, Bernhard Herzog, Rob Hooft, Bob
15
Ippolito, Jack Jansen, Bill Janssen, Edward Jones, Richard Jones,
16
Håkan Karlsson, Robert Kern, David Kirtley, Bob Klimek, Matthias
17
Klose, Andrew Kuchling, Magnus Källström, Victor Lacina, Ben Last,
18
Hamish Lawson, Cesare Leonardi, Andrew MacIntyre, Jan Matejek, Naveen
19
Michaud-Agrawal, Gordon McMillan, Skip Montanaro, Fredrik Nehr,
20
Russell Nelson, Luciano Nocera, Travis Oliphant, Piet van Oostrum,
21
Richard Oudkerk, Paul Pharr, Andres Polit, Conrado Porto Lopes Gouvêa,
22
Eric Raymond, Victor Reijs, Bertil Reinhammar, Nicholas Riley, Don
23
Rozenberg, Toby Sargeant, Barry Scott, Les Schaffer, Joel Shprentz,
24
Klamer Shutte, Gene Skonicki, Niki Spahiev, D. Alan Stewart, Perry
25
Stoll, Paul Svensson, Ulrik Svensson, Miki Tebeka, Michael van
26
Tellingen, Ivan Tkatchev, Dan Torop, Adam Twardoch, Rune Uhlin, Dmitry
27
Vasiliev, Sasha Voynow, Charles Waldman, Collin Winter, Dan Wolfe,
28
Ka-Ping Yee, and many others (if your name should be on this list, let
31
*** Changes from release 1.1.6 to 1.1.7 ***
33
This section may not be fully complete. For changes since this file
34
was last updated, see the repository revision history:
36
http://bitbucket.org/effbot/pil-2009-raclette/changesets/
40
+ Set GIF loop info property to the number of iterations if a NETSCAPE
41
loop extension is present, instead of always setting it to 1 (from
46
+ Improved PNG compression (from Alexey Borzenkov).
48
+ Read interlaced PNG files (from Conrado Porto Lopes Gouvêa)
50
+ Added various TGA improvements from Alexey Borzenkov, including
51
support for specifying image orientation.
53
+ Bumped block threshold to 16 megabytes, made size estimation a bit
54
more accurate. This speeds up allocation of large images.
56
+ Fixed rounding error in ImagingDrawWideLine.
58
"gormish" writes: ImagingDrawWideLine() in Draw.c has a bug in every
59
version I've seen, which leads to different width lines depending on
60
the order of the points in the line. This is especially bad at some
61
angles where a 'width=2' line can completely disappear.
63
+ Added support for RGBA mode to the SGI module (based on code by
66
+ Handle repeated IPTC tags (adapted from a patch by Eric Bruning).
68
Eric writes: According to the specification, some IPTC tags can be
69
repeated, e.g., tag 2:25 (keywords). PIL 1.1.6 only retained the last
70
instance of that tag. Below is a patch to store all tags. If there are
71
multiple tag instances, they are stored in a (python) list. Single tag
72
instances remain as strings.
74
+ Fixed potential crash in ImageFilter for small target images
75
(reported by Zac Burns and Daniel Fetchinson).
77
+ Use BMP instead of JPEG as temporary show format on Mac OS X.
79
+ Fixed putpixel/new for I;16 with colors > 255.
81
+ Added integer power support to ImagingMath.
83
+ Added limited support for I;16L mode (explicit little endian).
85
+ Moved WMF support into Image.core; enable WMF rendering by default
86
if renderer is available.
88
+ Mark the ARG plugin as obsolete.
90
+ Added version query mechanism to ImageCms and ImageFont, for
93
+ Added (experimental) ImageCms function for fetching the ICC profile
94
for the current display (currently Windows only).
96
Added HWND/HDC support to ImageCms.get_display_profile().
98
+ Added WMF renderer (Windows only).
100
+ Added ImagePointHandler and ImageTransformHandler mixins; made
101
ImageCmsTransform work with im.point.
103
+ Fixed potential endless loop in the XVThumbnail reader (from Nikolai
106
+ Added Kevin Cazabon's pyCMS package.
108
The C code has been moved to _imagingcms.c, the Python interface
109
module is installed as PIL.ImageCMS.
111
Added support for in-memory ICC profiles.
113
Unified buildTransform and buildTransformFromOpenProfiles.
115
The profile can now be either a filename, a profile object, or a
116
file-like object containing an in-memory profile.
118
Additional fixes from Florian Böch:
120
Very nice - it just needs LCMS flags support so we can use black
121
point compensation and softproofing :) See attached patches. They
122
also fix a naming issue which could cause confusion - display
123
profile (ImageCms wording) actually means proof profile (lcms
124
wording), so I changed variable names and docstrings where
125
applicable. Patches are tested under Python 2.6.
127
+ Improved support for layer names in PSD files (from Sylvain Baubeau)
129
Sylvain writes: I needed to be able to retrieve the names of the
130
layers in a PSD files. But PsdImagePlugin.py didn't do the job so I
131
wrote this very small patch.
133
+ Improved RGBA support for ImageTk for 8.4 and newer (from Con
136
This replaces the slow run-length based encoding model with true
137
compositing at the Tk level.
139
+ Added support for 16- and 32-bit images to McIdas loader.
141
Based on file samples and stand-alone reader code provided by Craig
144
+ Added ImagePalette support to putpalette.
146
+ Fixed problem with incremental parsing of PNG files.
148
+ Make selftest.py report non-zero status on failure (from Mark
151
+ Add big endian save support and multipage infrastructure to the TIFF
152
writer (from Sebastian Haase).
154
+ Handle files with GPS IFD but no basic EXIF IFD (reported by Kurt
157
+ Added zTXT support (from Andrew Kuchling via Lowell Alleman).
159
+ Fixed potential infinite loop bug in ImageFont (from Guilherme Polo).
161
+ Added sample ICC profiles (from Kevin Cazabon)
163
+ Fixed array interface for I, F, and RGBA/RGBX images.
165
+ Added Chroma subsampling support for JPEG (from Justin Huff).
167
Justin writes: Attached is a patch (against PIL 1.1.6) to provide
168
control over the chroma subsampling done by the JPEG encoder. This
169
is often useful for reducing compression artifacts around edges of
172
+ Added USM/Gaussian Blur code from Kevin Cazabon.
174
+ Fixed bug w. uninitialized image data when cropping outside the
177
+ Use ImageShow to implement the Image.show method.
179
Most notably, this picks the 'display' utility when available. It
180
also allows application code to register new display utilities via
181
the ImageShow registry.
183
+ Release the GIL in the PNG compressor (from Michael van Tellingen).
185
+ Revised JPEG CMYK handling.
187
Always assume Adobe behaviour, both when reading and writing (based on
188
a patch by Kevin Cazabon, and test data by Tim V. and Charlie Clark, and
189
additional debugging by Michael van Tellingen).
191
+ Support for preserving ICC profiles (by Florian Böch via Tim Hatch).
195
It's a beta, so still needs some testing, but should allow you to:
196
- retain embedded ICC profiles when saving from/to JPEG, PNG, TIFF.
197
Existing code doesn't need to be changed.
198
- access embedded profiles in JPEG, PNG, PSD, TIFF.
200
It also includes patches for TIFF to retain IPTC, Photoshop and XMP
201
metadata when saving as TIFF again, read/write TIFF resolution
202
information correctly, and to correct inverted CMYK JPEG files.
204
+ Fixed potential memory leak in median cut quantizer (from Evgeny Salmin).
206
+ Fixed OverflowError when reading upside-down BMP images.
208
+ Added resolution save option for PDF files.
210
Andreas Kostyrka writes: I've included a patched PdfImagePlugin.py
211
based on 1.1.6 as included in Ubuntu, that supports a "resolution"
212
save option. Not great, but it makes the PDF saving more useful by
213
allowing PDFs that are not exactly 72dpi.
215
+ Look for Tcl/Tk include files in version-specific include directory
216
(from Encolpe Degoute).
218
+ Fixed grayscale rounding error in ImageColor.getcolor (from Tim
221
+ Fixed calculation of mean value in ImageEnhance.Contrast (reported
222
by "roop" and Scott David Daniels).
224
+ Fixed truetype positioning when first character has a negative left
225
bearing (from Ned Batchelder):
227
Ned writes: In PIL 1.1.6, ImageDraw.text will position the string
228
incorrectly if the first character has a negative left bearing. To
229
see the problem, show a string like "///" in an italic font. The
230
first slash will be clipped at the left, and the string will be
233
+ Fixed resolution unit bug in tiff reader/writer (based on code by
234
Florian Höch, Gary Bloom, and others).
236
+ Added simple transparency support for RGB images (reported by
239
+ Added support for Unicode filenames in ImageFont.truetype (from Donn
242
+ Fixed potential crash in ImageFont.getname method (from Donn Ingle).
244
+ Fixed encoding issue in PIL/WalImageFile (from Santiago M. Mola).
26
246
*** Changes from release 1.1.5 to 1.1.6 ***