Pillow-simd

Latest version: v9.5.0.post2

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 23 of 23

0.2b2

-----------------------------------------------

- Fixed filling of complex polygons. The ImageDraw "line" and
"polygon" methods also accept Path objects.

- The ImageTk "PhotoImage" object can now be constructed directly
from an image. You can also pass the object itself to Tkinter,
instead of using the "image" attribute. Finally, using "paste"
on a displayed image automatically updates the display.

- The ImageTk "BitmapImage" object allows you to create transparent
overlays from 1-bit images. You can pass the object itself to
Tkinter. The constructor takes the same arguments as the Tkinter
BitmapImage class; use the "foreground" option to set the colour
of the overlay.

- Added a "putdata" method to the Image class. This can be used to
load a 1-layer image with data from a sequence object or a string.
An optional floating point scale and offset can be used to adjust
the data to fit into the 8-bit pixel range. Also see the "getdata"
method.

- Added the EXTENT method to the Image "transform" method. This can
be used to quickly crop, stretch, shrink, or mirror a subregion
from another image.

- Adapted to Python 1.4.

- Added a project makefile for Visual C++ 4.x. This allows you to
easily build a dynamically linked version of PIL for Windows 95
and NT.

- A Tk "booster" patch for Windows is available. It gives dramatic
performance improvements for some displays. Has been tested with
Tk 4.2 only, but is likely to work with Tk 4.1 as well. See the Tk
subdirectory for details.

- You can now save 1-bit images in the XBM format. In addition, the
Image class now provides a "tobitmap" method which returns a string
containing an XBM representation of the image. Quite handy to use
with Tk.

- More conversions, including "RGB" to "1" and more.

0.2a1

-----

- 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".

0.1b1

-----------------

- 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.0

---------------

- A handbook is available (distributed separately).

- The coordinate system is changed so that (0,0) is now located
in the upper left corner. This is in compliancy with ISO 12087
and 90% of all other image processing and graphics libraries.

- Modes "1" (bilevel) and "P" (palette) have been introduced. Note
that bilevel images are stored with one byte per pixel.

- The Image "crop" and "paste" methods now accepts None as the
box argument, to refer to the full image (self, that is).

- The Image "crop" method now works properly.

- The Image "point" method is now available. You can use either a
lookup table or a function taking one argument.

- The Image join function has been renamed to "merge".

- An Image "composite" function has been added. It is identical
to copy() followed by paste(mask).

- An Image "eval" function has been added. It is currently identical
to point(function); that is, only a single image can be processed.

- A set of channel operations has been added. See the "ImageChops"
module, test_chops.py, and the handbook for details.

- Added the "pilconvert" utility, which converts image files. Note
that the number of output formats are still quite restricted.

- Added the "pilfile" utility, which quickly identifies image files
(without loading them, in most cases).

- Added the "pilprint" utility, which prints image files to PostScript
printers.

- Added a rudimentary version of the "pilview" utility, which is
simple image viewer based on Tk. Only File/Exit and Image/Next
works properly.

- An interface to Tk has been added. See "Lib/ImageTk.py" and README
for details.

- An interface to Jack Jansen's Img library has been added (thanks to
Jack). This allows you to read images through the Img extensions file
format handlers. See the file "Lib/ImgExtImagePlugin.py" for details.

- PostScript printing is provided through the PSDraw module. See the
handbook for details.

Page 23 of 23

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.