incubator-sanselan-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Charles Matthew Chen" <>
Subject Re: Copying IPTC/EXIF data from one file to another...
Date Wed, 06 Aug 2008 20:29:04 GMT
Hi Christopher,

   This is an interesting question.

   Sanselan cannot read or write image data from JPEG files, so it
can't be used to resize the images.  However, it can be used to read
and write metadata from existing JPEGs.  It can currently write EXIF
metadata, including copying EXIF data from one jpg to another (ie. the
resized image file).  It can also do this with XMP metadata.  The
ability to do something similar with IPTC metadata is under active
development and should be ready soon.

   For an example of the EXIF update feature, see the
changeExifMetadata() example in this file, which should be easily
adapted to your needs:


On Tue, Aug 5, 2008 at 11:43 PM, Christopher Blunck
<> wrote:
> Hello,
> I have JFIF files that are rich in IPTC and EXIF metadata.  I currently use
> JAI to resize those images to smaller sizes suitable for publishing on the
> web.  Unfortunately when I perform that resizing in JAI I lose all of my
> APP0-APP13 metadata.
> Can Sanselan help me?
> Can I resize images in Sanselan and preserve the original IPTC/EXIF
> metadata?
> Alternatively can I read the IPTC/EXIF metadata contained in the APP
> sections from my original files and merge it into the images that JAI
> produces?
> I'm really stuck and I've been working on some prototype python code to
> merge in JPEG sections at the byte[] level but it's not working.  I've
> reviewed a lot of material online and am familiar with some of the format
> rules for JPEG/JFIF files.  I've even written code that can harvest the 0xFF
> 0xED (APP13 section) metadata and drop it into another file that does not
> contain 0xFF 0xED.  Unfortunately I just did it at the top of the file
> (immediately after 0xFF 0xD8) and I believe that 0xFF 0xE0 is always
> supposed to immediately follow the SOS.  I parsed out the length of the 0xFF
> 0xE0 section and tried inserting my APP13 section AFTER the 0xFF 0xE0
> section but that didn't work.
> Any pointers or directions would really be appreciated.
> -c

View raw message