File: thumbspage/piexif/_README-thumbspage-use.txt

This is the piexif third-party library, available at:

	https://pypi.org/project/piexif/

It is used by thumbspage 1.7 and later only for changing the values
of selected Exif tags of rotated and saved JPEG images.  Orientation,
for example, must be changed to normal if Exif tags are retained,
else other viewers will rotate already-rotated results.

The third-party Pillow library, which is also required by thumbspage 
and must be fetched and installed separately, has many image-processing
tools, but little support for Exif data, apart from fetching it as 
raw bytes and passing it as a whole to saves.  This allows Exif data
to be propagated, but not freely changed.

Pillow does have a scantly mentioned ImageOps.exif_transpose() call
which attempts to rotate images and adjusts some Exif data, but this
issues disturbing warnings today; drops most Exif tags without extra
help; and is special-case code, not general read/write access to Exif
data (see thumbspage's UserGuide.html#tpsansrotates_rejection).

piexif does the work of parsing and composing the Exif data's structure, 
and can be included in the thumbspage package as pure Python code. 
It converts Pillow Exif blobs to and from Python dicts for easier
access, though it may need help for some miscoded tag values.

piexif is also used in shrinkpix (learning-python.com/shrinkpix.html), 
and its adoption here is similar to that of the icalendar library 
in the Frigcal program (learning-python.com/frigcal.html).

See LICENSE.txt in this folder for piexif's separate but liberal 
license.  In short, it can be used as freely as thumbspage itself.



[Home page] Books Code Blog Python Author Train Find ©M.Lutz