
Any primitive read beyond this point needs to consider the Exif byte order. If MM is found, meaning Motorola ordering is used, then the byte order is big endian. If II is found, meaning that Intel ordering is used, then the byte order is little endian. The next two bytes indicate the endianess of the data stored in the Exif directories. The Exif Formatįollowing the two bytes indicating the Exif section length, the ASCII string "Exif" is found, followed by two zero bytes. If our goal is to extract Exif data from a Jpeg image, then we're looking for the Exif marker: 0圎1. With the exception of the SOI marker, each marker is followed by two bytes specifying the length of the marker' section data in bytes. This is why every Jpeg image starts with the sequence 0xFF 0xD8. For example, the mandatory "Start Of Image marker", or SOI, is defined by the number 0xD8.

The first marker byte is always 0xFF, while the second identifies what comes after it. A Jpeg image is delimited by two byte markers. Understanding the general structure of a Jpeg file is important to extract the Exif data. This article differs in that it explains the basics of the Jpeg and Exif formats, and was written specifically for Silverlight. I haven't looked at his code, but the article states that he is not using the methods as well - so it should work just fine in Silverlight with no major modifications. Related WorkĪ great article was written by Simon McKenzie on the same subject: ExifLib - A Fast Exif Data Extractor for. These wrappers include all the necessary tools to retrieve various information from image metadata, so if they're available, don't waste your time re-inventing the wheel. NET Framework available to them does not expose the GDI+ wrappers implemented in the namespace - at least not at the time of writing this article. Note: Unfortunately for Silverlight developers, the sandboxed.
Exif data viewer android how to#
This article explains how to retrieve valuable image information from the Exif data found in JPEG images, and provides a Silverlight class library to perform this task entirely on the client's machine. Using Silverlight, you can easily perform expensive tasks on the client's machine, reducing the cost of bandwidth and processing power required by more traditional web applications.

Silverlight is a great environment for developing rich web applications.
