Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > b36c97ff723e66f0f38bce83645c99dc > files > 282

exiv2-doc-0.18.2-1mdv2010.0.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Exiv2: Exiv2::Image Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1Image.html">Image</a>
  </div>
</div>
<div class="contents">
<h1>Exiv2::Image Class Reference</h1><!-- doxytag: class="Exiv2::Image" -->Abstract base class defining the interface for an image. This is the top-level interface to the <a class="el" href="namespaceExiv2.html" title="Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2...">Exiv2</a> library.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;image.hpp&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Exiv2::Image:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Image__inherit__graph.png" border="0" usemap="#Exiv2_1_1Image__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1Image__inherit__map">
<area shape="rect" id="node3" href="classExiv2_1_1BmpImage.html" title="Class to access Windows bitmaps. This is just a stub &#45; we only read width and height..." alt="" coords="205,5,376,32"><area shape="rect" id="node5" href="classExiv2_1_1Cr2Image.html" title="Class to access raw Canon CR2 images. Exif metadata is supported directly, IPTC is..." alt="" coords="205,56,376,83"><area shape="rect" id="node7" href="classExiv2_1_1CrwImage.html" title="Class to access raw Canon CRW images. Only Exif metadata and a comment are supported..." alt="" coords="205,107,376,133"><area shape="rect" id="node9" href="classExiv2_1_1GifImage.html" title="Class to access raw GIF images. Exif/IPTC metadata are supported directly." alt="" coords="205,157,376,184"><area shape="rect" id="node11" href="classExiv2_1_1Jp2Image.html" title="Class to access JPEG&#45;2000 images." alt="" coords="205,208,376,235"><area shape="rect" id="node13" href="classExiv2_1_1JpegBase.html" title="Abstract helper base class to access JPEG images." alt="" coords="205,259,376,285"><area shape="rect" id="node19" href="classExiv2_1_1MrwImage.html" title="Class to access raw Minolta MRW images. Exif metadata is supported directly, IPTC..." alt="" coords="205,309,376,336"><area shape="rect" id="node21" href="classExiv2_1_1OrfImage.html" title="Class to access raw Olympus ORF images. Exif metadata is supported directly, IPTC..." alt="" coords="205,360,376,387"><area shape="rect" id="node23" href="classExiv2_1_1PngImage.html" title="Class to access PNG images. Exif and IPTC metadata are supported directly." alt="" coords="205,411,376,437"><area shape="rect" id="node25" href="classExiv2_1_1PsdImage.html" title="Class to access raw Photoshop images." alt="" coords="205,461,376,488"><area shape="rect" id="node27" href="classExiv2_1_1RafImage.html" title="Class to access raw Fujifilm RAF images. Exif metadata is supported directly, IPTC..." alt="" coords="205,512,376,539"><area shape="rect" id="node29" href="classExiv2_1_1Rw2Image.html" title="Class to access raw Panasonic RW2 images. Exif metadata is supported directly, IPTC..." alt="" coords="205,563,376,589"><area shape="rect" id="node31" href="classExiv2_1_1TgaImage.html" title="Class to access raw TARGA images. This is just a stub &#45; we only read width and height..." alt="" coords="205,613,376,640"><area shape="rect" id="node33" href="classExiv2_1_1TiffImage.html" title="Class to access TIFF images. Exif metadata is supported directly, IPTC is read from..." alt="" coords="200,664,381,691"><area shape="rect" id="node35" href="classExiv2_1_1XmpSidecar.html" title="Class to access XMP sidecar files. They contain only XMP metadata." alt="" coords="195,715,387,741"><area shape="rect" id="node15" href="classExiv2_1_1ExvImage.html" title="Helper class to access Exiv2 files." alt="" coords="440,233,611,260"><area shape="rect" id="node17" href="classExiv2_1_1JpegImage.html" title="Class to access JPEG images." alt="" coords="435,284,616,311"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for Exiv2::Image:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Image__coll__graph.png" border="0" usemap="#Exiv2_1_1Image__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1Image__coll__map">
<area shape="rect" id="node2" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top&#45;level class of the Exiv2 library. The container..." alt="" coords="2433,365,2604,392"><area shape="rect" id="node6" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate..." alt="" coords="1329,347,1511,373"><area shape="rect" id="node8" href="classExiv2_1_1Metadatum.html" title="Abstract base class defining the interface to access information related to one metadata..." alt="" coords="973,411,1155,437"><area shape="rect" id="node36" href="classExiv2_1_1Xmpdatum.html" title="Information related to an XMP property. An XMP metadatum consists of an XmpKey and..." alt="" coords="1760,268,1931,295"><area shape="rect" id="node54" href="classExiv2_1_1Iptcdatum.html" title="An IPTC metadatum (&quot;dataset&quot;), consisting of an IptcKey and a Value and..." alt="" coords="1329,443,1511,469"><area shape="rect" id="node12" href="classExiv2_1_1ExifKey.html" title="Concrete keys for Exif metadata." alt="" coords="592,245,752,272"><area shape="rect" id="node14" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="316,291,436,317"><area shape="rect" id="node43" href="classExiv2_1_1XmpKey.html" title="Concrete keys for XMP metadata." alt="" coords="596,175,748,201"><area shape="rect" id="node59" href="classExiv2_1_1IptcKey.html" title="Concrete keys for IPTC metadata." alt="" coords="592,472,752,499"><area shape="rect" id="node16" title="STL class." alt="" coords="311,168,441,195"><area shape="rect" id="node18" title="STL class." alt="" coords="7,168,257,195"><area shape="rect" id="node20" title="STL class." alt="" coords="572,316,772,343"><area shape="rect" id="node29" title="STL class." alt="" coords="1329,493,1511,520"><area shape="rect" id="node39" href="structExiv2_1_1Xmpdatum_1_1Impl.html" title="Internal Pimpl structure of class Xmpdatum." alt="" coords="1304,197,1536,224"><area shape="rect" id="node26" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata." alt="" coords="601,421,743,448"><area shape="rect" id="node32" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top&#45;level class of the Exiv2 library." alt="" coords="2631,288,2791,315"><area shape="rect" id="node50" href="classExiv2_1_1IptcData.html" title="A container for IPTC data. This is a top&#45;level class of the Exiv2 library." alt="" coords="2433,413,2604,440"><area shape="rect" id="node68" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO." alt="" coords="592,72,752,99"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classExiv2_1_1Image-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="89ad3ffe7a4e8a943d267d77843415fb"></a><!-- doxytag: member="Exiv2::Image::AutoPtr" ref="89ad3ffe7a4e8a943d267d77843415fb" args="" -->
typedef std::auto_ptr&lt; <a class="el" href="classExiv2_1_1Image.html">Image</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#89ad3ffe7a4e8a943d267d77843415fb">AutoPtr</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> auto_ptr type. <br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e11f75b7ba9228b3aec7f6dccc5ea081"></a><!-- doxytag: member="Exiv2::Image::Image" ref="e11f75b7ba9228b3aec7f6dccc5ea081" args="(int imageType, uint16_t supportedMetadata, BasicIo::AutoPtr io)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#e11f75b7ba9228b3aec7f6dccc5ea081">Image</a> (int imageType, uint16_t supportedMetadata, <a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a> io)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor taking the image type, a bitmap of the supported metadata types and an auto-pointer that owns an IO instance. See subclass constructor doc. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1189ab5cbe4e963ffb3a199576bc85fa"></a><!-- doxytag: member="Exiv2::Image::~Image" ref="1189ab5cbe4e963ffb3a199576bc85fa" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#1189ab5cbe4e963ffb3a199576bc85fa">~Image</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual Destructor. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f">readMetadata</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read all metadata supported by a specific image format from the image. Before this method is called, the image metadata will be cleared.  <a href="#198b8d5924d6441748aa162130c96a5f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58">writeMetadata</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write metadata back to the image.  <a href="#f9f7e86aac2f656473e456e16550ab58"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#50787e6b2b88ab4844ed09a6d32d91cd">setExifData</a> (const <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a> &amp;exifData)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign new Exif data. The new Exif data is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called.  <a href="#50787e6b2b88ab4844ed09a6d32d91cd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67cf025df937da851e1f587489c5e6a1"></a><!-- doxytag: member="Exiv2::Image::clearExifData" ref="67cf025df937da851e1f587489c5e6a1" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#67cf025df937da851e1f587489c5e6a1">clearExifData</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase any buffered Exif data. Exif data is not removed from the actual image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#19bfac3c9245ca5c4c471e241bd33606">setIptcData</a> (const <a class="el" href="classExiv2_1_1IptcData.html">IptcData</a> &amp;iptcData)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign new IPTC data. The new IPTC data is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called.  <a href="#19bfac3c9245ca5c4c471e241bd33606"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8bb36c698ce3ee89654fe8177c8e962a"></a><!-- doxytag: member="Exiv2::Image::clearIptcData" ref="8bb36c698ce3ee89654fe8177c8e962a" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#8bb36c698ce3ee89654fe8177c8e962a">clearIptcData</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase any buffered IPTC data. IPTC data is not removed from the actual image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#8c6aff4701c23158c2d79598c26c18ad">setXmpPacket</a> (const std::string &amp;xmpPacket)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a raw XMP packet. The new XMP packet is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called.  <a href="#8c6aff4701c23158c2d79598c26c18ad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#797b7909cb55019289f5f1a7fa9086cc">clearXmpPacket</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase the buffered XMP packet. XMP data is not removed from the actual image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called.  <a href="#797b7909cb55019289f5f1a7fa9086cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#5fff5a898432265e656457ac8f7f666b">setXmpData</a> (const <a class="el" href="classExiv2_1_1XmpData.html">XmpData</a> &amp;xmpData)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign new XMP data. The new XMP data is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called.  <a href="#5fff5a898432265e656457ac8f7f666b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#910871299f87e8c075e5c977a37dd943">clearXmpData</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase any buffered XMP data. XMP data is not removed from the actual image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called.  <a href="#910871299f87e8c075e5c977a37dd943"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#f3c4746e941aa39bb7762b7b7da108a8">setComment</a> (const std::string &amp;comment)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the image comment. The new comment is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called.  <a href="#f3c4746e941aa39bb7762b7b7da108a8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62891a2c703c2c546e22605d01b1fdab"></a><!-- doxytag: member="Exiv2::Image::clearComment" ref="62891a2c703c2c546e22605d01b1fdab" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#62891a2c703c2c546e22605d01b1fdab">clearComment</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase any buffered comment. Comment is not removed from the actual image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#5374f217a84fadfe4ba97bebf00ae2b3">setMetadata</a> (const <a class="el" href="classExiv2_1_1Image.html">Image</a> &amp;image)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy all existing metadata from source <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a>. The data is copied into internal buffers and is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called.  <a href="#5374f217a84fadfe4ba97bebf00ae2b3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd9153e3fc83f31b4d63b56d530688cd"></a><!-- doxytag: member="Exiv2::Image::clearMetadata" ref="fd9153e3fc83f31b4d63b56d530688cd" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#fd9153e3fc83f31b4d63b56d530688cd">clearMetadata</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase all buffered metadata. Metadata is not removed from the actual image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#6b2ee3de4a0c89cb8ff42a59946abbd9">exifData</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> instance containing currently buffered Exif data.  <a href="#6b2ee3de4a0c89cb8ff42a59946abbd9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classExiv2_1_1IptcData.html">IptcData</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#098600f7a24b1a8d4162c2742a351699">iptcData</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an <a class="el" href="classExiv2_1_1IptcData.html" title="A container for IPTC data. This is a top-level class of the Exiv2 library.">IptcData</a> instance containing currently buffered IPTC data.  <a href="#098600f7a24b1a8d4162c2742a351699"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classExiv2_1_1XmpData.html">XmpData</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#a85bb569118da6fa12699a2b71e3801b">xmpData</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an <a class="el" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top-level class of the Exiv2 library.">XmpData</a> instance containing currently buffered XMP data.  <a href="#a85bb569118da6fa12699a2b71e3801b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77b4eda9639ea84b58d96ce6777afd72"></a><!-- doxytag: member="Exiv2::Image::xmpPacket" ref="77b4eda9639ea84b58d96ce6777afd72" args="()" -->
virtual std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#77b4eda9639ea84b58d96ce6777afd72">xmpPacket</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a modifiable reference to the raw XMP packet. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#b64199a4be87a12f81bd111ce4019dfc">writeXmpFromPacket</a> (bool flag)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine the source when writing XMP.  <a href="#b64199a4be87a12f81bd111ce4019dfc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#f1533e0b8d24c49974d0dc59911c330a">setByteOrder</a> (<a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the byte order to encode the Exif metadata in.  <a href="#f1533e0b8d24c49974d0dc59911c330a"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d616c94b3d8129a3abcbec2c200feda"></a><!-- doxytag: member="Exiv2::Image::byteOrder" ref="4d616c94b3d8129a3abcbec2c200feda" args="() const " -->
<a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#4d616c94b3d8129a3abcbec2c200feda">byteOrder</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the byte order in which the Exif metadata of the image is encoded. Initially, it is not set (<em>invalidByteOrder</em>). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#057cb663d5666ca5c0515a3957d15102">good</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> instance is valid. Use after object construction.  <a href="#057cb663d5666ca5c0515a3957d15102"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#5c517b500586613595e2e1b62601657a">mimeType</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the MIME type of the image.  <a href="#5c517b500586613595e2e1b62601657a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74376586d5029312159c5e857f4fbd34"></a><!-- doxytag: member="Exiv2::Image::pixelWidth" ref="74376586d5029312159c5e857f4fbd34" args="() const " -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#74376586d5029312159c5e857f4fbd34">pixelWidth</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the pixel width of the image. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23f56e6abb2940840a683d1429034169"></a><!-- doxytag: member="Exiv2::Image::pixelHeight" ref="23f56e6abb2940840a683d1429034169" args="() const " -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#23f56e6abb2940840a683d1429034169">pixelHeight</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the pixel height of the image. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#0b0583381bf560e313deb563d4fcb8d2">exifData</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> instance containing currently buffered Exif data.  <a href="#0b0583381bf560e313deb563d4fcb8d2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classExiv2_1_1IptcData.html">IptcData</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#3b7f662609dff0cad4b8a3ba955c4ce2">iptcData</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an <a class="el" href="classExiv2_1_1IptcData.html" title="A container for IPTC data. This is a top-level class of the Exiv2 library.">IptcData</a> instance containing currently buffered IPTC data.  <a href="#3b7f662609dff0cad4b8a3ba955c4ce2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classExiv2_1_1XmpData.html">XmpData</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#dc3d1becb675f5ef2daab789d1d3a255">xmpData</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an <a class="el" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top-level class of the Exiv2 library.">XmpData</a> instance containing currently buffered XMP data.  <a href="#dc3d1becb675f5ef2daab789d1d3a255"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6dc95b8a51c9b31515b38d5d82e7afbe"></a><!-- doxytag: member="Exiv2::Image::comment" ref="6dc95b8a51c9b31515b38d5d82e7afbe" args="() const " -->
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#6dc95b8a51c9b31515b38d5d82e7afbe">comment</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a copy of the image comment. May be an empty string. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="333a58246fa96ea256e9d781d8e2ba93"></a><!-- doxytag: member="Exiv2::Image::xmpPacket" ref="333a58246fa96ea256e9d781d8e2ba93" args="() const " -->
virtual const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#333a58246fa96ea256e9d781d8e2ba93">xmpPacket</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the raw XMP packet as a string. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#5b4560b599ff50e28e3dc31fba62431e">io</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance being used for Io.  <a href="#5b4560b599ff50e28e3dc31fba62431e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceExiv2.html#f5f0ea6c944c786f7c4c4841fa22b16c">AccessMode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#a50060fa3ee369575b26468021858586">checkMode</a> (<a class="el" href="namespaceExiv2.html#cca494c8cf80f3ac8a804e1b54afffca">MetadataId</a> metadataId) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the access mode, i.e., the metadata functions, which this image supports for the metadata type <em>metadataId</em>.  <a href="#a50060fa3ee369575b26468021858586"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6faaacb514314528d2a3884a40e6ecc1"></a><!-- doxytag: member="Exiv2::Image::supportsMetadata" ref="6faaacb514314528d2a3884a40e6ecc1" args="(MetadataId metadataId) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#6faaacb514314528d2a3884a40e6ecc1">supportsMetadata</a> (<a class="el" href="namespaceExiv2.html#cca494c8cf80f3ac8a804e1b54afffca">MetadataId</a> metadataId) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if image supports a particular type of metadata. This method is deprecated. Use <a class="el" href="classExiv2_1_1Image.html#a50060fa3ee369575b26468021858586" title="Returns the access mode, i.e., the metadata functions, which this image supports...">checkMode()</a> instead. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d556f9ffa960f88d80b53cba3421af21"></a><!-- doxytag: member="Exiv2::Image::writeXmpFromPacket" ref="d556f9ffa960f88d80b53cba3421af21" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#d556f9ffa960f88d80b53cba3421af21">writeXmpFromPacket</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the flag indicating the source when writing XMP metadata. <br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="441d551a7d353e6f440748a486e004e5"></a><!-- doxytag: member="Exiv2::Image::io_" ref="441d551a7d353e6f440748a486e004e5" args="" -->
<a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#441d551a7d353e6f440748a486e004e5">io_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> data IO pointer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1a8a72f1faf1b49a980a5050be8f8df"></a><!-- doxytag: member="Exiv2::Image::exifData_" ref="a1a8a72f1faf1b49a980a5050be8f8df" args="" -->
<a class="el" href="classExiv2_1_1ExifData.html">ExifData</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#a1a8a72f1faf1b49a980a5050be8f8df">exifData_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exif data container. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c613777e529af8d8c421cf0138234d6f"></a><!-- doxytag: member="Exiv2::Image::iptcData_" ref="c613777e529af8d8c421cf0138234d6f" args="" -->
<a class="el" href="classExiv2_1_1IptcData.html">IptcData</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#c613777e529af8d8c421cf0138234d6f">iptcData_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IPTC data container. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd748b186fc5d731e7943ab38b718168"></a><!-- doxytag: member="Exiv2::Image::xmpData_" ref="fd748b186fc5d731e7943ab38b718168" args="" -->
<a class="el" href="classExiv2_1_1XmpData.html">XmpData</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#fd748b186fc5d731e7943ab38b718168">xmpData_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP data container. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d908536e7406677e193f6fa75e53d3ae"></a><!-- doxytag: member="Exiv2::Image::comment_" ref="d908536e7406677e193f6fa75e53d3ae" args="" -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#d908536e7406677e193f6fa75e53d3ae">comment_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User comment. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b62dc4efdf1c3ffe94443588e7d7b15b"></a><!-- doxytag: member="Exiv2::Image::xmpPacket_" ref="b62dc4efdf1c3ffe94443588e7d7b15b" args="" -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#b62dc4efdf1c3ffe94443588e7d7b15b">xmpPacket_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP packet. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="114180b5449669339b0cbe3f4078a915"></a><!-- doxytag: member="Exiv2::Image::pixelWidth_" ref="114180b5449669339b0cbe3f4078a915" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#114180b5449669339b0cbe3f4078a915">pixelWidth_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">image pixel width <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="093efd59b753173a50a5c3a2ab881878"></a><!-- doxytag: member="Exiv2::Image::pixelHeight_" ref="093efd59b753173a50a5c3a2ab881878" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Image.html#093efd59b753173a50a5c3a2ab881878">pixelHeight_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">image pixel height <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Abstract base class defining the interface for an image. This is the top-level interface to the <a class="el" href="namespaceExiv2.html" title="Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2...">Exiv2</a> library. 
<p>
<a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> has containers to store image metadata and subclasses implement read and save metadata from and to specific image formats.<br>
 Most client apps will obtain an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> instance by calling a static <a class="el" href="classExiv2_1_1ImageFactory.html" title="Returns an Image instance of the specified type.">ImageFactory</a> method. The <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> class can then be used to to read, write, and save metadata. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a50060fa3ee369575b26468021858586"></a><!-- doxytag: member="Exiv2::Image::checkMode" ref="a50060fa3ee369575b26468021858586" args="(MetadataId metadataId) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceExiv2.html#f5f0ea6c944c786f7c4c4841fa22b16c">AccessMode</a> Exiv2::Image::checkMode           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#cca494c8cf80f3ac8a804e1b54afffca">MetadataId</a>&nbsp;</td>
          <td class="paramname"> <em>metadataId</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the access mode, i.e., the metadata functions, which this image supports for the metadata type <em>metadataId</em>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>metadataId</em>&nbsp;</td><td>The metadata identifier. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Access mode for the requested image type and metadata identifier. </dd></dl>

</div>
</div><p>
<a class="anchor" name="910871299f87e8c075e5c977a37dd943"></a><!-- doxytag: member="Exiv2::Image::clearXmpData" ref="910871299f87e8c075e5c977a37dd943" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::clearXmpData           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Erase any buffered XMP data. XMP data is not removed from the actual image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. 
<p>
This has the same effect as <a class="el" href="classExiv2_1_1Image.html#797b7909cb55019289f5f1a7fa9086cc" title="Erase the buffered XMP packet. XMP data is not removed from the actual image until...">clearXmpPacket()</a> but operates on the buffered parsed XMP data.<p>
Subsequent calls to <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> encode the XMP data to a raw XMP packet and write the newly encoded packet to the image. In the process, the buffered raw XMP packet is updated. In order to write directly from the raw XMP packet, use writeXmpFromPacket(true) or <a class="el" href="classExiv2_1_1Image.html#8c6aff4701c23158c2d79598c26c18ad" title="Assign a raw XMP packet. The new XMP packet is not written to the image until the...">setXmpPacket()</a>. 
<p>References <a class="el" href="xmp_8cpp_source.html#l00327">Exiv2::XmpData::clear()</a>, <a class="el" href="image_8hpp_source.html#l00387">writeXmpFromPacket()</a>, and <a class="el" href="image_8hpp_source.html#l00395">xmpData_</a>.</p>

<p>Referenced by <a class="el" href="image_8cpp_source.html#l00147">clearMetadata()</a>, and <a class="el" href="actions_8cpp_source.html#l00883">Action::Erase::eraseXmpData()</a>.</p>

</div>
</div><p>
<a class="anchor" name="797b7909cb55019289f5f1a7fa9086cc"></a><!-- doxytag: member="Exiv2::Image::clearXmpPacket" ref="797b7909cb55019289f5f1a7fa9086cc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::clearXmpPacket           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Erase the buffered XMP packet. XMP data is not removed from the actual image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. 
<p>
This has the same effect as <a class="el" href="classExiv2_1_1Image.html#910871299f87e8c075e5c977a37dd943" title="Erase any buffered XMP data. XMP data is not removed from the actual image until...">clearXmpData()</a> but operates on the buffered raw XMP packet only, not the parsed XMP data.<p>
Subsequent calls to <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> write the XMP packet from the buffered raw XMP packet rather than from buffered parsed XMP data. In order to write from parsed XMP data again, use either writeXmpFromPacket(false) or <a class="el" href="classExiv2_1_1Image.html#5fff5a898432265e656457ac8f7f666b" title="Assign new XMP data. The new XMP data is not written to the image until the writeMetadata()...">setXmpData()</a>. 
<p>References <a class="el" href="image_8hpp_source.html#l00387">writeXmpFromPacket()</a>, and <a class="el" href="image_8hpp_source.html#l00397">xmpPacket_</a>.</p>

<p>Referenced by <a class="el" href="image_8cpp_source.html#l00147">clearMetadata()</a>, and <a class="el" href="actions_8cpp_source.html#l00883">Action::Erase::eraseXmpData()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0b0583381bf560e313deb563d4fcb8d2"></a><!-- doxytag: member="Exiv2::Image::exifData" ref="0b0583381bf560e313deb563d4fcb8d2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a>&amp; Exiv2::Image::exifData           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns an <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> instance containing currently buffered Exif data. 
<p>
The Exif data may have been read from the image by a previous call to <a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f" title="Read all metadata supported by a specific image format from the image. Before this...">readMetadata()</a> or added directly. The Exif data in the returned instance will be written to the image when <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> is called.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>read only <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> instance containing Exif values </dd></dl>

</div>
</div><p>
<a class="anchor" name="6b2ee3de4a0c89cb8ff42a59946abbd9"></a><!-- doxytag: member="Exiv2::Image::exifData" ref="6b2ee3de4a0c89cb8ff42a59946abbd9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a>&amp; Exiv2::Image::exifData           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns an <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> instance containing currently buffered Exif data. 
<p>
The contained Exif data may have been read from the image by a previous call to <a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f" title="Read all metadata supported by a specific image format from the image. Before this...">readMetadata()</a> or added directly. The Exif data in the returned instance will be written to the image when <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> is called.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>modifiable <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> instance containing Exif values </dd></dl>

<p>Referenced by <a class="el" href="crwimage_8cpp_source.html#l00173">Exiv2::CrwParser::decode()</a>, <a class="el" href="actions_8cpp_source.html#l00850">Action::Erase::eraseExifData()</a>, <a class="el" href="actions_8cpp_source.html#l00836">Action::Erase::eraseThumbnail()</a>, <a class="el" href="actions_8cpp_source.html#l00535">Action::Print::printMetadatum()</a>, <a class="el" href="jp2image_8cpp_source.html#l00147">Exiv2::Jp2Image::readMetadata()</a>, and <a class="el" href="image_8cpp_source.html#l00156">setMetadata()</a>.</p>

</div>
</div><p>
<a class="anchor" name="057cb663d5666ca5c0515a3957d15102"></a><!-- doxytag: member="Exiv2::Image::good" ref="057cb663d5666ca5c0515a3957d15102" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Exiv2::Image::good           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> instance is valid. Use after object construction. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> is in a valid state. </dd></dl>

<p>References <a class="el" href="image_8cpp_source.html#l00273">Exiv2::ImageFactory::checkType()</a>, and <a class="el" href="image_8hpp_source.html#l00392">io_</a>.</p>

</div>
</div><p>
<a class="anchor" name="5b4560b599ff50e28e3dc31fba62431e"></a><!-- doxytag: member="Exiv2::Image::io" ref="5b4560b599ff50e28e3dc31fba62431e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a>&amp; Exiv2::Image::io           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a reference to the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance being used for Io. 
<p>
This refence is particularly useful to reading the results of operations on a <a class="el" href="classExiv2_1_1MemIo.html" title="Provides binary IO on blocks of memory by implementing the BasicIo interface. A copy-on-write...">MemIo</a> instance. For example after metadata has been modified and the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method has been called, this method can be used to get access to the modified image.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance that can be used to read or write image data directly. </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>If the returned <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> is used to write to the image, the <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> class will not see those changes until the <a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f" title="Read all metadata supported by a specific image format from the image. Before this...">readMetadata()</a> method is called. </dd></dl>

</div>
</div><p>
<a class="anchor" name="3b7f662609dff0cad4b8a3ba955c4ce2"></a><!-- doxytag: member="Exiv2::Image::iptcData" ref="3b7f662609dff0cad4b8a3ba955c4ce2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classExiv2_1_1IptcData.html">IptcData</a>&amp; Exiv2::Image::iptcData           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns an <a class="el" href="classExiv2_1_1IptcData.html" title="A container for IPTC data. This is a top-level class of the Exiv2 library.">IptcData</a> instance containing currently buffered IPTC data. 
<p>
The contained IPTC data may have been read from the image by a previous call to <a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f" title="Read all metadata supported by a specific image format from the image. Before this...">readMetadata()</a> or added directly. The IPTC data in the returned instance will be written to the image when <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> is called.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>modifiable <a class="el" href="classExiv2_1_1IptcData.html" title="A container for IPTC data. This is a top-level class of the Exiv2 library.">IptcData</a> instance containing IPTC values </dd></dl>

</div>
</div><p>
<a class="anchor" name="098600f7a24b1a8d4162c2742a351699"></a><!-- doxytag: member="Exiv2::Image::iptcData" ref="098600f7a24b1a8d4162c2742a351699" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classExiv2_1_1IptcData.html">IptcData</a>&amp; Exiv2::Image::iptcData           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns an <a class="el" href="classExiv2_1_1IptcData.html" title="A container for IPTC data. This is a top-level class of the Exiv2 library.">IptcData</a> instance containing currently buffered IPTC data. 
<p>
The contained IPTC data may have been read from the image by a previous call to <a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f" title="Read all metadata supported by a specific image format from the image. Before this...">readMetadata()</a> or added directly. The IPTC data in the returned instance will be written to the image when <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> is called.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>modifiable <a class="el" href="classExiv2_1_1IptcData.html" title="A container for IPTC data. This is a top-level class of the Exiv2 library.">IptcData</a> instance containing IPTC values </dd></dl>

<p>Referenced by <a class="el" href="actions_8cpp_source.html#l00865">Action::Erase::eraseIptcData()</a>, <a class="el" href="jp2image_8cpp_source.html#l00147">Exiv2::Jp2Image::readMetadata()</a>, and <a class="el" href="image_8cpp_source.html#l00156">setMetadata()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5c517b500586613595e2e1b62601657a"></a><!-- doxytag: member="Exiv2::Image::mimeType" ref="5c517b500586613595e2e1b62601657a" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string Exiv2::Image::mimeType           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the MIME type of the image. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>For each supported image format, the library knows only one MIME type. This may not be the most specific MIME type for that format. In particular, several RAW formats are variants of the TIFF format with the same magic as TIFF itself. Class <a class="el" href="classExiv2_1_1TiffImage.html" title="Class to access TIFF images. Exif metadata is supported directly, IPTC is read from...">TiffImage</a> handles most of them and thus they all have MIME type "image/tiff", although a more specific MIME type may exist (e.g., "image/x-nikon-nef"). </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1BmpImage.html#3690a8ff1aa1bf27da8beef16cfcc9e0">Exiv2::BmpImage</a>, <a class="el" href="classExiv2_1_1Cr2Image.html#0923aeaf91a8a378ce2fb5b073c2daf9">Exiv2::Cr2Image</a>, <a class="el" href="classExiv2_1_1CrwImage.html#7d6c701c0b6049916455a4136510cd62">Exiv2::CrwImage</a>, <a class="el" href="classExiv2_1_1GifImage.html#3d92f84493fb88a679fdac9a17fb4dfd">Exiv2::GifImage</a>, <a class="el" href="classExiv2_1_1Jp2Image.html#42d834b31a1760cd045a6f63ad3d0523">Exiv2::Jp2Image</a>, <a class="el" href="classExiv2_1_1JpegImage.html#2613112f484b6bd091d599991c38aeef">Exiv2::JpegImage</a>, <a class="el" href="classExiv2_1_1ExvImage.html#d8487cabb12622b8c44257c64697f6aa">Exiv2::ExvImage</a>, <a class="el" href="classExiv2_1_1MrwImage.html#411bd0cf7504ad7582021942de5c4dd1">Exiv2::MrwImage</a>, <a class="el" href="classExiv2_1_1OrfImage.html#29799aa9f63196f12138f819f04e3534">Exiv2::OrfImage</a>, <a class="el" href="classExiv2_1_1PngImage.html#82339d89ca695c24e2491e0d084bd03f">Exiv2::PngImage</a>, <a class="el" href="classExiv2_1_1PsdImage.html#1d3d1edde46a6b9e60a660624d096abb">Exiv2::PsdImage</a>, <a class="el" href="classExiv2_1_1RafImage.html#f8fdbff12c99b3bfac10d29f24931300">Exiv2::RafImage</a>, <a class="el" href="classExiv2_1_1Rw2Image.html#8711f4d5c7904e476fc6ac5adcc7d1ed">Exiv2::Rw2Image</a>, <a class="el" href="classExiv2_1_1TgaImage.html#0992bda8dbe84c0801bdaebc693d8558">Exiv2::TgaImage</a>, <a class="el" href="classExiv2_1_1TiffImage.html#c756bdc09ffb0ab6acf005058b2ac032">Exiv2::TiffImage</a>, and <a class="el" href="classExiv2_1_1XmpSidecar.html#8e8b416654a71a2165e0cf74c3232aee">Exiv2::XmpSidecar</a>.</p>

<p>Referenced by <a class="el" href="actions_8cpp_source.html#l00850">Action::Erase::eraseExifData()</a>.</p>

</div>
</div><p>
<a class="anchor" name="198b8d5924d6441748aa162130c96a5f"></a><!-- doxytag: member="Exiv2::Image::readMetadata" ref="198b8d5924d6441748aa162130c96a5f" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Exiv2::Image::readMetadata           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read all metadata supported by a specific image format from the image. Before this method is called, the image metadata will be cleared. 
<p>
This method returns success even if no metadata is found in the image. Callers must therefore check the size of individual metadata types before accessing the data.<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em>&nbsp;</td><td>if opening or reading of the file fails or the image data is not valid (does not look like data of the specific image type). </td></tr>
  </table>
</dl>

<p>Implemented in <a class="el" href="classExiv2_1_1BmpImage.html#f325637dd954988bdd0812705b03ee91">Exiv2::BmpImage</a>, <a class="el" href="classExiv2_1_1Cr2Image.html#9ac07ec115329228cf1eb2afe622feb0">Exiv2::Cr2Image</a>, <a class="el" href="classExiv2_1_1CrwImage.html#9757cfb64310acf700d51c77ac4d55b5">Exiv2::CrwImage</a>, <a class="el" href="classExiv2_1_1GifImage.html#6ce1509b24dfed94bede077e328a315a">Exiv2::GifImage</a>, <a class="el" href="classExiv2_1_1Jp2Image.html#4bf3d9ed94a4be4e5d931a812c6d58bf">Exiv2::Jp2Image</a>, <a class="el" href="classExiv2_1_1JpegBase.html#d6e281a6e5e863c93fbb123f0b38bc4c">Exiv2::JpegBase</a>, <a class="el" href="classExiv2_1_1MrwImage.html#f57371ca9869cd8c5a009afcd0d62e2a">Exiv2::MrwImage</a>, <a class="el" href="classExiv2_1_1OrfImage.html#52b0c6a1661b2d68e2432268735ac563">Exiv2::OrfImage</a>, <a class="el" href="classExiv2_1_1PngImage.html#2a0f0ed945a729104c01a851094150e7">Exiv2::PngImage</a>, <a class="el" href="classExiv2_1_1PsdImage.html#e9bb61fa8016a76aa01718990c52dd3f">Exiv2::PsdImage</a>, <a class="el" href="classExiv2_1_1RafImage.html#53a5fa808a06b133f72cf6ccdacebc76">Exiv2::RafImage</a>, <a class="el" href="classExiv2_1_1Rw2Image.html#207a0726d40c8aa9456bb39ab13fd435">Exiv2::Rw2Image</a>, <a class="el" href="classExiv2_1_1TgaImage.html#cd57243b467e0f21fa52214bf2831552">Exiv2::TgaImage</a>, <a class="el" href="classExiv2_1_1TiffImage.html#c0965fb8aea437062775da11bece20ff">Exiv2::TiffImage</a>, and <a class="el" href="classExiv2_1_1XmpSidecar.html#faacbbda6639f45f89d967f2c3bcc76c">Exiv2::XmpSidecar</a>.</p>

</div>
</div><p>
<a class="anchor" name="f1533e0b8d24c49974d0dc59911c330a"></a><!-- doxytag: member="Exiv2::Image::setByteOrder" ref="f1533e0b8d24c49974d0dc59911c330a" args="(ByteOrder byteOrder)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::setByteOrder           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a>&nbsp;</td>
          <td class="paramname"> <em>byteOrder</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the byte order to encode the Exif metadata in. 
<p>
The setting is only used when new Exif metadata is created and may not be applicable at all for some image formats. If the target image already contains Exif metadata, the byte order of the existing data is used. If byte order is not set when <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> is called, little-endian byte order (II) is used by default. 
<p>Referenced by <a class="el" href="jp2image_8cpp_source.html#l00147">Exiv2::Jp2Image::readMetadata()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f3c4746e941aa39bb7762b7b7da108a8"></a><!-- doxytag: member="Exiv2::Image::setComment" ref="f3c4746e941aa39bb7762b7b7da108a8" args="(const std::string &amp;comment)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::setComment           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>comment</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the image comment. The new comment is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>comment</em>&nbsp;</td><td>String containing comment. </td></tr>
  </table>
</dl>

<p>Reimplemented in <a class="el" href="classExiv2_1_1BmpImage.html#0d9e544f1a384228c3ef26f83eb0aaad">Exiv2::BmpImage</a>, <a class="el" href="classExiv2_1_1Cr2Image.html#c76dc2d010d3dbb16b7bc3327d60fb03">Exiv2::Cr2Image</a>, <a class="el" href="classExiv2_1_1GifImage.html#4cd492b4d311bfc6ba202c56599dfedf">Exiv2::GifImage</a>, <a class="el" href="classExiv2_1_1Jp2Image.html#2209338ee4a18a815ac95115a5eecaf5">Exiv2::Jp2Image</a>, <a class="el" href="classExiv2_1_1MrwImage.html#034a0e0e888474dfa8cd6a24a0e73d19">Exiv2::MrwImage</a>, <a class="el" href="classExiv2_1_1OrfImage.html#1a2baa722020f3c5a6472c1f95bda4f6">Exiv2::OrfImage</a>, <a class="el" href="classExiv2_1_1PsdImage.html#05f5b0a54a0acf646da8cb08195757b3">Exiv2::PsdImage</a>, <a class="el" href="classExiv2_1_1RafImage.html#86777f8cdd42ae89677e13561e48a9f6">Exiv2::RafImage</a>, <a class="el" href="classExiv2_1_1Rw2Image.html#4e4694f9b04d86482607e4df7d6769f5">Exiv2::Rw2Image</a>, <a class="el" href="classExiv2_1_1TgaImage.html#bce4a71d8f652c89a1645f6e63720cb5">Exiv2::TgaImage</a>, <a class="el" href="classExiv2_1_1TiffImage.html#c204968b22d3098c974551e0d2067650">Exiv2::TiffImage</a>, and <a class="el" href="classExiv2_1_1XmpSidecar.html#500e5d1a2a314d1613bcd5244eb7c728">Exiv2::XmpSidecar</a>.</p>

<p>References <a class="el" href="image_8hpp_source.html#l00396">comment_</a>.</p>

<p>Referenced by <a class="el" href="actions_8cpp_source.html#l01174">Action::Modify::applyCommands()</a>, and <a class="el" href="image_8cpp_source.html#l00156">setMetadata()</a>.</p>

</div>
</div><p>
<a class="anchor" name="50787e6b2b88ab4844ed09a6d32d91cd"></a><!-- doxytag: member="Exiv2::Image::setExifData" ref="50787e6b2b88ab4844ed09a6d32d91cd" args="(const ExifData &amp;exifData)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::setExifData           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>exifData</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign new Exif data. The new Exif data is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>exifData</em>&nbsp;</td><td>An <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> instance holding Exif data to be copied </td></tr>
  </table>
</dl>

<p>Reimplemented in <a class="el" href="classExiv2_1_1BmpImage.html#5d730de9ba18015824a327a93760a83b">Exiv2::BmpImage</a>, <a class="el" href="classExiv2_1_1Cr2Image.html#e34fe70addefb9fb9592077cadd4b44d">Exiv2::Cr2Image</a>, <a class="el" href="classExiv2_1_1GifImage.html#e98b140069acda271a7a3e0cbef6c640">Exiv2::GifImage</a>, <a class="el" href="classExiv2_1_1MrwImage.html#8ec357197271583008b7a207651eb6fd">Exiv2::MrwImage</a>, <a class="el" href="classExiv2_1_1OrfImage.html#8a9e0644886132d9854c78c9c792a337">Exiv2::OrfImage</a>, <a class="el" href="classExiv2_1_1RafImage.html#0dc6b6ba3c57272e8d8abdad2741e1c9">Exiv2::RafImage</a>, <a class="el" href="classExiv2_1_1Rw2Image.html#2c99da5914c50a9fd40e21ff1f3da392">Exiv2::Rw2Image</a>, and <a class="el" href="classExiv2_1_1TgaImage.html#f8a076bffc4451c69f4836cd846a07c6">Exiv2::TgaImage</a>.</p>

<p>References <a class="el" href="image_8hpp_source.html#l00393">exifData_</a>.</p>

<p>Referenced by <a class="el" href="image_8cpp_source.html#l00156">setMetadata()</a>.</p>

</div>
</div><p>
<a class="anchor" name="19bfac3c9245ca5c4c471e241bd33606"></a><!-- doxytag: member="Exiv2::Image::setIptcData" ref="19bfac3c9245ca5c4c471e241bd33606" args="(const IptcData &amp;iptcData)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::setIptcData           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1IptcData.html">IptcData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>iptcData</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign new IPTC data. The new IPTC data is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iptcData</em>&nbsp;</td><td>An <a class="el" href="classExiv2_1_1IptcData.html" title="A container for IPTC data. This is a top-level class of the Exiv2 library.">IptcData</a> instance holding IPTC data to be copied </td></tr>
  </table>
</dl>

<p>Reimplemented in <a class="el" href="classExiv2_1_1BmpImage.html#2e43c241337615a097316f3723dc772d">Exiv2::BmpImage</a>, <a class="el" href="classExiv2_1_1Cr2Image.html#8d05f68057aaa6b82dd90accc16f33d8">Exiv2::Cr2Image</a>, <a class="el" href="classExiv2_1_1CrwImage.html#aadb20df06a2832e73d75e240f6c2c64">Exiv2::CrwImage</a>, <a class="el" href="classExiv2_1_1GifImage.html#a9b15e6dca4e2b26d33c0aaeb587ab0b">Exiv2::GifImage</a>, <a class="el" href="classExiv2_1_1MrwImage.html#b0c4bce2836217c490c7deda5c114925">Exiv2::MrwImage</a>, <a class="el" href="classExiv2_1_1OrfImage.html#31ec0a44d063035b67552f60c2b945c5">Exiv2::OrfImage</a>, <a class="el" href="classExiv2_1_1RafImage.html#d95a749faed5962eccb5ca46ccf059d7">Exiv2::RafImage</a>, <a class="el" href="classExiv2_1_1Rw2Image.html#7c815fe540dac720e784a215d480415b">Exiv2::Rw2Image</a>, and <a class="el" href="classExiv2_1_1TgaImage.html#d8a17682396f8d0e6f55ab8dbfed6c47">Exiv2::TgaImage</a>.</p>

<p>References <a class="el" href="image_8hpp_source.html#l00394">iptcData_</a>.</p>

<p>Referenced by <a class="el" href="image_8cpp_source.html#l00156">setMetadata()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5374f217a84fadfe4ba97bebf00ae2b3"></a><!-- doxytag: member="Exiv2::Image::setMetadata" ref="5374f217a84fadfe4ba97bebf00ae2b3" args="(const Image &amp;image)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::setMetadata           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1Image.html">Image</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>image</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy all existing metadata from source <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a>. The data is copied into internal buffers and is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>Metadata source. All metadata types are copied. </td></tr>
  </table>
</dl>

<p>References <a class="el" href="image_8hpp_source.html#l00354">comment()</a>, <a class="el" href="image_8hpp_source.html#l00227">exifData()</a>, <a class="el" href="image_8hpp_source.html#l00239">iptcData()</a>, <a class="el" href="image_8cpp_source.html#l00221">setComment()</a>, <a class="el" href="image_8cpp_source.html#l00170">setExifData()</a>, <a class="el" href="image_8cpp_source.html#l00180">setIptcData()</a>, <a class="el" href="image_8cpp_source.html#l00203">setXmpData()</a>, <a class="el" href="image_8cpp_source.html#l00191">setXmpPacket()</a>, <a class="el" href="image_8hpp_source.html#l00251">xmpData()</a>, and <a class="el" href="image_8hpp_source.html#l00255">xmpPacket()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5fff5a898432265e656457ac8f7f666b"></a><!-- doxytag: member="Exiv2::Image::setXmpData" ref="5fff5a898432265e656457ac8f7f666b" args="(const XmpData &amp;xmpData)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::setXmpData           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1XmpData.html">XmpData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>xmpData</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign new XMP data. The new XMP data is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. 
<p>
Subsequent calls to <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> encode the XMP data to a raw XMP packet and write the newly encoded packet to the image. In the process, the buffered raw XMP packet is updated. In order to write directly from the raw XMP packet, use writeXmpFromPacket(true) or <a class="el" href="classExiv2_1_1Image.html#8c6aff4701c23158c2d79598c26c18ad" title="Assign a raw XMP packet. The new XMP packet is not written to the image until the...">setXmpPacket()</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>xmpData</em>&nbsp;</td><td>An <a class="el" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top-level class of the Exiv2 library.">XmpData</a> instance holding XMP data to be copied </td></tr>
  </table>
</dl>

<p>References <a class="el" href="image_8hpp_source.html#l00387">writeXmpFromPacket()</a>, and <a class="el" href="image_8hpp_source.html#l00395">xmpData_</a>.</p>

<p>Referenced by <a class="el" href="image_8cpp_source.html#l00156">setMetadata()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8c6aff4701c23158c2d79598c26c18ad"></a><!-- doxytag: member="Exiv2::Image::setXmpPacket" ref="8c6aff4701c23158c2d79598c26c18ad" args="(const std::string &amp;xmpPacket)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::setXmpPacket           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>xmpPacket</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign a raw XMP packet. The new XMP packet is not written to the image until the <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> method is called. 
<p>
Subsequent calls to <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> write the XMP packet from the buffered raw XMP packet rather than from buffered parsed XMP data. In order to write from parsed XMP data again, use either writeXmpFromPacket(false) or <a class="el" href="classExiv2_1_1Image.html#5fff5a898432265e656457ac8f7f666b" title="Assign new XMP data. The new XMP data is not written to the image until the writeMetadata()...">setXmpData()</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>xmpPacket</em>&nbsp;</td><td>A string containing the raw XMP packet. </td></tr>
  </table>
</dl>

<p>References <a class="el" href="image_8hpp_source.html#l00387">writeXmpFromPacket()</a>, and <a class="el" href="image_8hpp_source.html#l00397">xmpPacket_</a>.</p>

<p>Referenced by <a class="el" href="image_8cpp_source.html#l00156">setMetadata()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f9f7e86aac2f656473e456e16550ab58"></a><!-- doxytag: member="Exiv2::Image::writeMetadata" ref="f9f7e86aac2f656473e456e16550ab58" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Exiv2::Image::writeMetadata           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write metadata back to the image. 
<p>
All existing metadata sections in the image are either created, replaced, or erased. If values for a given metadata type have been assigned, a section for that metadata type will either be created or replaced. If no values have been assigned to a given metadata type, any exists section for that metadata type will be removed from the image.<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em>&nbsp;</td><td>if the operation fails </td></tr>
  </table>
</dl>

<p>Implemented in <a class="el" href="classExiv2_1_1BmpImage.html#0deb05581273e6407b686e739fcdcf27">Exiv2::BmpImage</a>, <a class="el" href="classExiv2_1_1Cr2Image.html#02e43bd63c2b10ce1ee190396d71a1b2">Exiv2::Cr2Image</a>, <a class="el" href="classExiv2_1_1CrwImage.html#1ae7b7dbf36f40504152112d67114afa">Exiv2::CrwImage</a>, <a class="el" href="classExiv2_1_1GifImage.html#de01838d801beb44968b806eaf469ef0">Exiv2::GifImage</a>, <a class="el" href="classExiv2_1_1Jp2Image.html#febe3c6b1ca88d58922e41b55ce36139">Exiv2::Jp2Image</a>, <a class="el" href="classExiv2_1_1JpegBase.html#5e17357e701288db323db2bb5c9db1a9">Exiv2::JpegBase</a>, <a class="el" href="classExiv2_1_1MrwImage.html#35b5e31b5d4500d71a724813dc0c57cb">Exiv2::MrwImage</a>, <a class="el" href="classExiv2_1_1OrfImage.html#cfbb361e4af39171546fb1491a6df085">Exiv2::OrfImage</a>, <a class="el" href="classExiv2_1_1PngImage.html#4a82a4143b70e11a59f4e9a56255f6a2">Exiv2::PngImage</a>, <a class="el" href="classExiv2_1_1PsdImage.html#bb47f0e2bcff7e326e6bf09ada06ceae">Exiv2::PsdImage</a>, <a class="el" href="classExiv2_1_1RafImage.html#3337927b7f39bef4dce153556a4b77a2">Exiv2::RafImage</a>, <a class="el" href="classExiv2_1_1Rw2Image.html#e71368a7c97550651d131152b31e38ce">Exiv2::Rw2Image</a>, <a class="el" href="classExiv2_1_1TgaImage.html#f20e745446d742b47753eb9b9698a941">Exiv2::TgaImage</a>, <a class="el" href="classExiv2_1_1TiffImage.html#b4d6dcbd915abe2254bfef751a3f1da7">Exiv2::TiffImage</a>, and <a class="el" href="classExiv2_1_1XmpSidecar.html#c19b2de60b6af08602da62ef3f937ee0">Exiv2::XmpSidecar</a>.</p>

</div>
</div><p>
<a class="anchor" name="b64199a4be87a12f81bd111ce4019dfc"></a><!-- doxytag: member="Exiv2::Image::writeXmpFromPacket" ref="b64199a4be87a12f81bd111ce4019dfc" args="(bool flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Image::writeXmpFromPacket           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>flag</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Determine the source when writing XMP. 
<p>
Depending on the setting of this flag, <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> writes XMP from the buffered raw XMP packet or from parsed XMP data. The default is to write from parsed XMP data. The switch is also set by all functions to set and clear the buffered raw XMP packet and parsed XMP data, so using this function should usually not be necessary.<p>
If Exiv2 was compiled without XMP support, the default for this flag is true and it will never be changed in order to preserve access to the raw XMP packet. 
</div>
</div><p>
<a class="anchor" name="dc3d1becb675f5ef2daab789d1d3a255"></a><!-- doxytag: member="Exiv2::Image::xmpData" ref="dc3d1becb675f5ef2daab789d1d3a255" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classExiv2_1_1XmpData.html">XmpData</a>&amp; Exiv2::Image::xmpData           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns an <a class="el" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top-level class of the Exiv2 library.">XmpData</a> instance containing currently buffered XMP data. 
<p>
The contained XMP data may have been read from the image by a previous call to <a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f" title="Read all metadata supported by a specific image format from the image. Before this...">readMetadata()</a> or added directly. The XMP data in the returned instance will be written to the image when <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> is called.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>modifiable <a class="el" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top-level class of the Exiv2 library.">XmpData</a> instance containing XMP values </dd></dl>

</div>
</div><p>
<a class="anchor" name="a85bb569118da6fa12699a2b71e3801b"></a><!-- doxytag: member="Exiv2::Image::xmpData" ref="a85bb569118da6fa12699a2b71e3801b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classExiv2_1_1XmpData.html">XmpData</a>&amp; Exiv2::Image::xmpData           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns an <a class="el" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top-level class of the Exiv2 library.">XmpData</a> instance containing currently buffered XMP data. 
<p>
The contained XMP data may have been read from the image by a previous call to <a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f" title="Read all metadata supported by a specific image format from the image. Before this...">readMetadata()</a> or added directly. The XMP data in the returned instance will be written to the image when <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58" title="Write metadata back to the image.">writeMetadata()</a> is called.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>modifiable <a class="el" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top-level class of the Exiv2 library.">XmpData</a> instance containing XMP values </dd></dl>

<p>Referenced by <a class="el" href="actions_8cpp_source.html#l00883">Action::Erase::eraseXmpData()</a>, <a class="el" href="jp2image_8cpp_source.html#l00147">Exiv2::Jp2Image::readMetadata()</a>, and <a class="el" href="image_8cpp_source.html#l00156">setMetadata()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="image_8hpp.html">image.hpp</a><li>image.cpp</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jun 25 15:17:58 2009 for Exiv2 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>