TODO
TODO
TODO
Text may render differently when starting at fractional coordinates, so :py.FreeTypeFont.getmask
and :py.FreeTypeFont.getmask2
now support a start
argument. This tuple of horizontal and vertical offset will be used internally by :py.ImageDraw.text
to more accurately place text at the xy
coordinates.
The exact
encoding option for WebP is now supported. The WebP encoder removes the hidden RGB values for better compression by default in libwebp 0.5 or later. By setting this option to True
, the encoder will keep the hidden RGB values.
If the signed
keyword argument is present and true when saving JPEG2000 images, then tell the encoder to save the image as signed.
:py~PIL.ExifTags.IFD
has been added, allowing enums to be used with :py~PIL.Image.Exif.get_ifd
:
from PIL import Image, ExifTags
im = Image.open("Tests/images/flower.jpg")
print(im.getexif().get_ifd(ExifTags.IFD.Exif))
IFD1
can also be used with :py~PIL.Image.Exif.get_ifd
, but it should not be used in other contexts, as the enum value is only internally meaningful.
:py~PIL.ExifTags.Interop
has been added for tags within the Interop IFD:
from PIL import Image, ExifTags
im = Image.open("Tests/images/flower.jpg")
interop_ifd = im.getexif().get_ifd(ExifTags.IFD.Interop)
print(interop_ifd.get(ExifTags.Interop.InteropIndex)) # R98
:py~PIL.ExifTags.LightSource
has been added for values within the LightSource tag:
from PIL import Image, ExifTags
im = Image.open("Tests/images/iptc.jpg")
exif_ifd = im.getexif().get_ifd(ExifTags.IFD.Exif)
print(ExifTags.LightSource(exif_ifd[0x9208])) # LightSource.Unknown
XMP data can now be decoded for WEBP images through getxmp()
.
When saving a JPEG image, a comment can now be written from :py~PIL.Image.Image.info
, or by using an argument when saving:
im.save(out, comment="Test comment")
TODO
Support has been added to read and write L and LA DDS images in the uncompressed format, known as "luminance" textures.
In Pillow 9.1.0, the following constants were deprecated. That has been reversed and these constants will now remain available.
Image.NONE
Image.NEAREST
Image.ORDERED
Image.RASTERIZE
Image.FLOYDSTEINBERG
Image.WEB
Image.ADAPTIVE
Image.AFFINE
Image.EXTENT
Image.PERSPECTIVE
Image.QUAD
Image.MESH
Image.FLIP_LEFT_RIGHT
Image.FLIP_TOP_BOTTOM
Image.ROTATE_90
Image.ROTATE_180
Image.ROTATE_270
Image.TRANSPOSE
Image.TRANSVERSE
Image.BOX
Image.BILINEAR
Image.HAMMING
Image.BICUBIC
Image.LANCZOS
Image.MEDIANCUT
Image.MAXCOVERAGE
Image.FASTOCTREE
Image.LIBIMAGEQUANT