| >Camera identifies itself as Ixus 220 HS JPEG Firmware Version 1.0 and
| >the file as Exif II. You could strip out the Exif data and that would
| >force the OS to generate a thumbnail from the real data stream.
|
| Thanks, Martin, appreciate your taking the time to check that. Is it
| something I could do myself in future? I did just take a look with a Hex
| Editor, but found only these few 'strings':
|
| Address Length
| 00000006 00000004 JFIF
| 00000018 00000004 Exif
| 000000C4 00000005 Canon
| 000000CA 00000011 Canon IXUS 220 HS
| 000000EC 00000013 2012:06:22 21:47:42
| 00000297 00000013 2011:07:27 09:50:00
| 000002AC 00000013 2011:07:27 09:50:00
| 000004F3 00000014 IMG:IXUS 220 HS JPEG
| 00000508 00000015 Firmware Version 1.00
|
| Nothing there about embedded thumbnails, so I assume you used some special
| tool?
|
| You mentioned TIFF. Is the thumbnail a different type to the file (JPG)?
| And I'm curious about that 'JFIF' above?
|
I don't know if this will be useful, but it may be of
interest to some people:
http://www.jsware.net/jsware/scripts.php5#jpginf
Explanation: At one time I wrote VBScripts to extract EXIF data
and thumbnails from JPGs, mostly for the purpose of viewing
large numbers of thumbnails, from very big files, quickly and easily.
Your dilemma made me revisit those scripts. I had only written code
to extract JPG-type thumbnails. A thumbnail can also be "uncompressed",
of 3 types: monochrome, RGB, and yCbCr. But until you posted your
picture I had never seen a thumbnail that was not JPG. Yours is
uncompressed RGB. I'm guessing that the other two types are
probably even more rare.
I updated my scripts to extract both JPG and uncompressed RGB
thumbnails. (The latter is actually just the bitmap bytes of the image.
While a JPG thumbnail is a whole file embedded, the RGB thumbnail
requires that the bytes be re-ordered and a BMP file header be
constructed before writing the data to disk.)
I also wrote scripts to remove the EXIF section altogether, as
there seemed to be some interest in that. It's all in the download
linked above, along with an info. file.
JFIF is a somewhat pointless but "traditional" header included
in JPG files. Neither EXIF nor JFIF is necessary, but at least one
seems to be present in all JPGs. While the EXIF section can hold
a great deal of structured information, the JFIF header does not
usually hold anything of much interest. Yet image editors saving
to JPG, when not incorporating EXIF data, seem to always put in
a JFIF header after the first two "magic" bytes of FF D8. In some
cases there may even be multiple JFIF headers strewn about,
without any harm to the image data. All sections have unique marker
bytes, so a JPG can have numerous sections, they can be in great
disarray, and they often are. Since all are marked, decoding software
has no trouble parsing the actual image data despite that. But it
does make things very confusing for anyone trying to make sense of
the file structure. Most file headers have very specific structures,
but with JPGs, apart from the required sections of image data, any
prepended data sections are often just a willy nilly collection of
information and debris.
The scripts are VBScript. They can be edited as desired. As written
they work by just dropping a file [or folder] onto the script. They will
work on any Windows PC and on Linux under WINE with the Windows
Script Host libraries installed to the WINE system folder. But I don't
know of any way to get them working on a Mac.