Skip to content

Commit

Permalink
Document new ExifTags enums
Browse files Browse the repository at this point in the history
  • Loading branch information
radarhere committed Dec 23, 2022
1 parent 818e967 commit 5c482e2
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 1 deletion.
10 changes: 9 additions & 1 deletion docs/reference/ExifTags.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,15 @@ which provide constants and clear-text names for various well-known EXIF tags.
>>> IFD.Exif.value
34665
>>> IFD(34665).name
'Exif'
'Exif

.. py:data:: LightSource
>>> from PIL.ExifTags import LightSource
>>> LightSource.Unknown.value
0
>>> LightSource(0).name
'Unknown'

Two of these values are also exposed as dictionaries.

Expand Down
28 changes: 28 additions & 0 deletions docs/releasenotes/9.4.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,34 @@ 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.

Added IFD, Interop and LightSource ExifTags enums
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

:py:data:`~PIL.ExifTags.IFD` has been added, allowing enums to be used with
:py:meth:`~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:meth:`~PIL.Image.Exif.get_ifd`, but it should
not be used in other contexts, as the enum value is only internally meaningful.

:py:data:`~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:data:`~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

getxmp()
^^^^^^^^

Expand Down

0 comments on commit 5c482e2

Please sign in to comment.