Symbian3/SDK/Source/GUID-FCEE832C-5D8D-5177-A86A-E10015EF77DC.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-FCEE832C-5D8D-5177-A86A-E10015EF77DC"><title>Exif Utility Library Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the Exif (Exchangeable image file format) Utility Library. </p> <section><title>Purpose</title> <p>Exif is an informal standard (CP-3451) from JEIDA (Japanese Electronic Industries Development Association) for image metadata. Exif enhances the JPEG and TIFF specifications with the addition of metadata tags to hold information such as the camera settings used to take the picture. Although not a formal standard, Exif is used by most digital cameras and many image editing and display applications. </p> <p><b>Exit Utility Library Details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-B5A1BD7B-79D5-51C7-90B6-1B6E4922E7AC"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-6D7D379B-D9ED-3E81-9FE9-8D950DCA4CC0.dita"><apiname>exifutility.dll</apiname></xref>  </p> </entry> <entry><p> <xref href="GUID-A1E5B2C7-A696-3AB4-8F6B-442192B59C8B.dita"><apiname>exifutility.lib </apiname></xref>  </p> </entry> <entry><p>These files are used for implementing Exif Utility operation. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>Exif is a member of the Imaging Frameworks component. It is used by several image framework libraries, including: </p> <ul><li id="GUID-29FA4A69-A507-522E-80E8-3C6103D3A5FE"><p><xref href="GUID-27220B08-B2E7-5106-9BCC-C86938D3E37D.dita">Image Display</xref> - <xref href="GUID-6B918282-75B5-3E2F-B3E1-1955B6EBE907.dita"><apiname>CImageDisplay</apiname></xref> Handles the image decoding operation, providing scope for accessing Exif metadata on a read-only basis. </p> </li> <li id="GUID-45FF333E-E748-5738-A045-B0218625397D"><p><xref href="GUID-6914EA3D-6FAB-52DD-A159-990F4ED892A2.dita">Image Transformation</xref> - <xref href="GUID-37B0C02C-F518-3ADD-8828-90FD6B3E9DE4.dita"><apiname>CImageTransform</apiname></xref> Handles image transform operations such as image resizing and rotation. </p> </li> <li id="GUID-4941BFC2-DE09-5CD9-94E4-F15DCBA5D11E"><p><xref href="GUID-9C371845-9F5D-56BB-BE16-ED60139D02AF.dita">Exif</xref> - Provides Exif metadata access through <xref href="GUID-8AA987C9-456B-3E7C-95C2-C5578EE977B9.dita"><apiname>TExifReaderUtility</apiname></xref> and <xref href="GUID-62EA502C-FBE8-39A8-AEC6-3104C15F18C9.dita"><apiname>TExifWriterUtility</apiname></xref>. </p> </li> </ul> </section> <section><title>Description</title> <p>Exif defines metadata tags allowing information about an image to be stored with the data for image file. JPEG and TIFF images include a section where this information can be stored in an easily identifiable way enabling applications to read from and write to these metadata tags. </p> <p><b>Accessing Exif Metadata</b> </p> <p>Exif provides access to metadata in JPEG and TIFF images while encoding, decoding, viewing or editing the image data. </p> <p><b>Encoding images</b> </p> <p>To write Exif metadata to an image file while it is being encoded. (<xref href="GUID-27F068D2-F5BE-3D0B-83F4-493A783CFB80.dita"><apiname>MExifMetadataWriter</apiname></xref>) </p> <p><b>Decoding images</b> </p> <p>To read Exif metadata from an image file while it is being decoded. (<xref href="GUID-B742FC40-2D88-3E71-8F89-FCB15A2C6619.dita"><apiname>MExifMetadataReader</apiname></xref>) </p> <p><b>Viewing images</b> </p> <p>To display Exif metadata about the image, such as a description or image title, while viewing the image on screen. (<xref href="GUID-B742FC40-2D88-3E71-8F89-FCB15A2C6619.dita"><apiname>MExifMetadataReader</apiname></xref>) </p> <p><b>Editing images</b> </p> <p>When an image is opened for resizing or rotation or some other editing operation the Exif tags can be read from or written to. (<xref href="GUID-27F068D2-F5BE-3D0B-83F4-493A783CFB80.dita"><apiname>MExifMetadataWriter</apiname></xref>) </p> </section> <section><title>Key Exif Utility Classes</title> <p>The two main classes provided by the Exif Utility library are: </p> <ul><li id="GUID-7ECACD84-1F33-50A8-AF84-9AF7B5F660A1"><p> <xref href="GUID-B742FC40-2D88-3E71-8F89-FCB15A2C6619.dita"><apiname>MExifMetadataReader</apiname></xref>  </p> <p>Used to read the tags from the Exif Metadata. You are expected to provide the tag id and the primary IFD for the tags to be read. </p> </li> <li id="GUID-36244F0E-D597-55D4-BEA6-9F3FF43366DE"><p> <xref href="GUID-27F068D2-F5BE-3D0B-83F4-493A783CFB80.dita"><apiname>MExifMetadataWriter</apiname></xref>  </p> <p>Used to write or set the tags of the Exif metadata. You are expected to render the key inputs like tag id and IFD for the data that needs to be written or modified. </p> </li> </ul> <p>It is worth reminding you that Exif Utility is only one of the mechanisms for accessing Exif metadata in the Symbian platform. The other, and much easier, is through the <xref href="GUID-9C371845-9F5D-56BB-BE16-ED60139D02AF.dita">JPEG Exif Plugin</xref>, which already knows about many of the common Exif tags and provides an easy way to access those tags. </p> </section> <section><title>Using Exif Utility</title> <p>Exif Utility is used for the following: </p> <ul><li id="GUID-C8E1086D-053B-5ECB-B91B-F3C8AC56919B"><p>Adding Metadata when encoding an image </p> </li> <li id="GUID-768C8BE3-AC19-54C0-B632-3E7E698A53A9"><p>Reading Metadata when decoding an image </p> </li> <li id="GUID-2769B999-4B7E-5072-9897-93121D90775A"><p>Reading or writing metadata when editing an image </p> </li> <li id="GUID-1D9222E1-8CE2-59A3-94CC-1AEAC6949B3C"><p>Reading metadata when displaying an image to screen </p> </li> </ul> <p>The Exif utility is used to access Exif metadata in a JPEG or TIFF image as was previously discussed. Please see the <xref href="GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E.dita">Exif Utility Guide</xref> for useful code snippets. </p> </section> </conbody><related-links><link href="GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E.dita"><linktext>Exif Utility Guide</linktext> </link> <link href="GUID-9C371845-9F5D-56BB-BE16-ED60139D02AF.dita"><linktext>Exif</linktext> </link> <link href="GUID-27220B08-B2E7-5106-9BCC-C86938D3E37D.dita"><linktext>Image Display</linktext> </link> <link href="GUID-6914EA3D-6FAB-52DD-A159-990F4ED892A2.dita"><linktext>Image Transformation</linktext> </link> </related-links></concept>