[goodie] Exif 2.1 and Tiff 6.0 Readers

Steven Swerling sps2000 at mail.com
Mon Jul 22 20:02:15 UTC 2002


Exif 2.1 and Tiff 6.0 support.

For 3.2 images, use the following version (tested on Squeak 3.2gamma5):
http://www.swerlingphoto.com/squeak/exifreader/spsExifReader.3.2.v1.cs.gz

For 3.3 images, use the following version (tested on Squeak 3.3a-4914):
http://www.swerlingphoto.com/squeak/exifreader/spsExifReader.3.3.v1.cs.gz

This changeset provides code for reading Exif data out of Exif 2.1
compliant image files. Both little and bigEndian files are supported.
Also included are a set of classes for reading Tiff 6.0 IFDs, which is a
requirement of Exif 2.1 (again, both little and bigEndian files are
supported).  An ExifViewer is provided to browse exif data and view the
exif thumbnail if possible.

This code was designed so that support can be added for
specific cameras that augment their Exif data with specialized
information -- an example is provided for files generated by the Nikon
D1x. If you wish to add support for information specific to your Exif
2.1 compliant digital camera, take a look at how it was done for the
NikonD1xExifReader. There is a facility for diffing IFDs in
ExifImageInfoReader, which may come in handy if you are trying to crack
the encoding for your camera (see the "diff" class protocol).

Please note that few cameras more than 1 or 2 years old have Exif 2.1
compliant data, and that even among newer models, Exif 2.1 compliance is
often incomplete or erroneous.

Not supported this version:
	float IFD Field values.
	double IFD Field values.
	reading IPTC data
	reading audio Exif Data (anyone got any sample files?).

If you have an Exif image file that contains fields with float or double
values, I would appreciate it if you could make the file available to me
by posting it on the www and mailing me a link (I don't have high speed
internet access, so please don't email it). Also, if you have a file
that can't be read by this code, but can be read by other exif readers,
or if you have a file that is incorrectly read by this code, I would
appreciate it if you could make that file available to me.

To open an ExifViewer, try:
      ExifViewer openMorphicViewInWorld.











More information about the Squeak-dev mailing list