Sophie

Sophie

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

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::CrwImage 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_1CrwImage.html">CrwImage</a>
  </div>
</div>
<div class="contents">
<h1>Exiv2::CrwImage Class Reference</h1><!-- doxytag: class="Exiv2::CrwImage" --><!-- doxytag: inherits="Exiv2::Image" -->Class to access raw Canon CRW images. Only Exif metadata and a comment are supported. CRW format does not contain IPTC metadata.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;crwimage.hpp&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Exiv2::CrwImage:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1CrwImage__inherit__graph.png" border="0" usemap="#Exiv2_1_1CrwImage__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1CrwImage__inherit__map">
<area shape="rect" id="node2" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top&#45;level interface..." alt="" coords="20,5,161,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for Exiv2::CrwImage:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1CrwImage__coll__graph.png" border="0" usemap="#Exiv2_1_1CrwImage__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1CrwImage__coll__map">
<area shape="rect" id="node2" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top&#45;level interface..." alt="" coords="2920,288,3061,315"><area shape="rect" id="node4" 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="node8" 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="node10" 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="node38" 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="node56" 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="node14" href="classExiv2_1_1ExifKey.html" title="Concrete keys for Exif metadata." alt="" coords="592,245,752,272"><area shape="rect" id="node16" 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="node45" href="classExiv2_1_1XmpKey.html" title="Concrete keys for XMP metadata." alt="" coords="596,175,748,201"><area shape="rect" id="node61" href="classExiv2_1_1IptcKey.html" title="Concrete keys for IPTC metadata." alt="" coords="592,472,752,499"><area shape="rect" id="node18" title="STL class." alt="" coords="311,168,441,195"><area shape="rect" id="node20" title="STL class." alt="" coords="7,168,257,195"><area shape="rect" id="node22" title="STL class." alt="" coords="572,316,772,343"><area shape="rect" id="node31" title="STL class." alt="" coords="1329,493,1511,520"><area shape="rect" id="node41" href="structExiv2_1_1Xmpdatum_1_1Impl.html" title="Internal Pimpl structure of class Xmpdatum." alt="" coords="1304,197,1536,224"><area shape="rect" id="node28" 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="node34" 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="node52" 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="node70" 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_1CrwImage-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 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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1CrwImage.html#f3fb07db53fa41774b3df4323942e1ed">CrwImage</a> (<a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a> io, bool create)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor that can either open an existing CRW image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the <a class="el" href="classExiv2_1_1Image.html#057cb663d5666ca5c0515a3957d15102" title="Check if the Image instance is valid. Use after object construction.">good()</a> method after object construction to determine success or failure.  <a href="#f3fb07db53fa41774b3df4323942e1ed"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></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_1CrwImage.html#9757cfb64310acf700d51c77ac4d55b5">readMetadata</a> ()</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="#9757cfb64310acf700d51c77ac4d55b5"></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_1CrwImage.html#1ae7b7dbf36f40504152112d67114afa">writeMetadata</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write metadata back to the image.  <a href="#1ae7b7dbf36f40504152112d67114afa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aadb20df06a2832e73d75e240f6c2c64"></a><!-- doxytag: member="Exiv2::CrwImage::setIptcData" ref="aadb20df06a2832e73d75e240f6c2c64" args="(const IptcData &amp;iptcData)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1CrwImage.html#aadb20df06a2832e73d75e240f6c2c64">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">Not supported. CRW format does not contain IPTC metadata. Calling this function will throw an Error(32). <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1CrwImage.html#7d6c701c0b6049916455a4136510cd62">mimeType</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the MIME type of the image.  <a href="#7d6c701c0b6049916455a4136510cd62"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d249f9d954b4008287f53b15a17e9ab"></a><!-- doxytag: member="Exiv2::CrwImage::pixelWidth" ref="5d249f9d954b4008287f53b15a17e9ab" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1CrwImage.html#5d249f9d954b4008287f53b15a17e9ab">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="24175808eb8d984b05010268194fcb5f"></a><!-- doxytag: member="Exiv2::CrwImage::pixelHeight" ref="24175808eb8d984b05010268194fcb5f" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1CrwImage.html#24175808eb8d984b05010268194fcb5f">pixelHeight</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the pixel height of the image. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Class to access raw Canon CRW images. Only Exif metadata and a comment are supported. CRW format does not contain IPTC metadata. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="f3fb07db53fa41774b3df4323942e1ed"></a><!-- doxytag: member="Exiv2::CrwImage::CrwImage" ref="f3fb07db53fa41774b3df4323942e1ed" args="(BasicIo::AutoPtr io, bool create)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Exiv2::CrwImage::CrwImage           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a>&nbsp;</td>
          <td class="paramname"> <em>io</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>create</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor that can either open an existing CRW image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the <a class="el" href="classExiv2_1_1Image.html#057cb663d5666ca5c0515a3957d15102" title="Check if the Image instance is valid. Use after object construction.">good()</a> method after object construction to determine success or failure. 
<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>io</em>&nbsp;</td><td>An auto-pointer that owns a <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance used for reading and writing image metadata. <b>Important:</b> The constructor takes ownership of the passed in <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance through the auto-pointer. Callers should not continue to use the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance after it is passed to this method. Use the <a class="el" href="classExiv2_1_1Image.html#5b4560b599ff50e28e3dc31fba62431e" title="Return a reference to the BasicIo instance being used for Io.">Image::io()</a> method to get a temporary reference. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>create</em>&nbsp;</td><td>Specifies if an existing image should be read (false) or if a new file should be created (true). </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="7d6c701c0b6049916455a4136510cd62"></a><!-- doxytag: member="Exiv2::CrwImage::mimeType" ref="7d6c701c0b6049916455a4136510cd62" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string Exiv2::CrwImage::mimeType           </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 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>Implements <a class="el" href="classExiv2_1_1Image.html#5c517b500586613595e2e1b62601657a">Exiv2::Image</a>.</p>

</div>
</div><p>
<a class="anchor" name="9757cfb64310acf700d51c77ac4d55b5"></a><!-- doxytag: member="Exiv2::CrwImage::readMetadata" ref="9757cfb64310acf700d51c77ac4d55b5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::CrwImage::readMetadata           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [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>Implements <a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f">Exiv2::Image</a>.</p>

<p>References <a class="el" href="image_8cpp_source.html#l00147">Exiv2::Image::clearMetadata()</a>, <a class="el" href="crwimage_8cpp_source.html#l00173">Exiv2::CrwParser::decode()</a>, <a class="el" href="image_8hpp_source.html#l00392">Exiv2::Image::io_</a>, <a class="el" href="crwimage_8cpp_source.html#l00225">Exiv2::isCrwType()</a>, and <a class="el" href="namespaceExiv2.html#086796c27d01f4618a158a0e56905f72">Exiv2::strError()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1ae7b7dbf36f40504152112d67114afa"></a><!-- doxytag: member="Exiv2::CrwImage::writeMetadata" ref="1ae7b7dbf36f40504152112d67114afa" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::CrwImage::writeMetadata           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [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>Implements <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58">Exiv2::Image</a>.</p>

<p>References <a class="el" href="types_8cpp_source.html#l00152">Exiv2::DataBuf::alloc()</a>, <a class="el" href="crwimage_8cpp_source.html#l00194">Exiv2::CrwParser::encode()</a>, <a class="el" href="image_8hpp_source.html#l00392">Exiv2::Image::io_</a>, <a class="el" href="crwimage_8cpp_source.html#l00225">Exiv2::isCrwType()</a>, <a class="el" href="types_8hpp_source.html#l00258">Exiv2::DataBuf::pData_</a>, <a class="el" href="types_8cpp_source.html#l00169">Exiv2::DataBuf::reset()</a>, and <a class="el" href="types_8hpp_source.html#l00260">Exiv2::DataBuf::size_</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="crwimage_8hpp.html">crwimage.hpp</a><li>crwimage.cpp</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jun 25 15:17:54 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>