Changes for online API documentation.
parent
e878166f0d
commit
07723af4a8
@ -0,0 +1,127 @@
|
||||
<h2><a href="namespaces.html">Namespaces</a></h2>
|
||||
|
||||
<p>The <a href="index.html">Exiv2 library</a> is made up of all
|
||||
elements defined in the <a href="namespaceExiv2.html">Exiv2
|
||||
namespace</a>. The Action and Util namespaces are only used by the
|
||||
Exiv2 command line utility.</p>
|
||||
|
||||
<h2><a href="classes.html">Classes</a></h2>
|
||||
|
||||
<p>The top-level class of the Exiv2 library is
|
||||
<a class="el" href="classExiv2_1_1Image.html">Exiv2::Image</a>
|
||||
|
||||
(don't let the components diagram below mislead you). Exiv2::Image
|
||||
defines the interface to access various image metadata. Derived from
|
||||
Exiv2::Image are the implementations of different image formats. Most
|
||||
applications will use
|
||||
<a class="el" href="classExiv2_1_1ImageFactory.html">Exiv2::ImageFactory</a>
|
||||
to access images in files or memory, in which case the image format
|
||||
is transparent to them.</p>
|
||||
|
||||
<p>Exif and IPTC metadata is manipulated through the classes
|
||||
<a class="el" href="classExiv2_1_1ExifData.html">Exiv2::ExifData</a>
|
||||
and <a class="el" href="classExiv2_1_1IptcData.html">Exiv2::IptcData</a>.
|
||||
They hold a container of Exif and IPTC metadata, respectively, and define
|
||||
related methods to access and manipulate the metadata. The containers hold
|
||||
objects derived from
|
||||
<a class="el" href="classExiv2_1_1Metadatum.html">Exiv2::Metadatum</a>.
|
||||
Interface class Exiv2::Metadatum defines methods to access the
|
||||
information of one Exif tag or IPTC dataset. It models the tag data as
|
||||
a key and value pair.
|
||||
The abstract base class
|
||||
<a class="el" href="classExiv2_1_1Key.html">Exiv2::Key</a> defines the
|
||||
interface for a key. Concrete keys implement Exif and IPTC keys.
|
||||
The abstract base class
|
||||
<a class="el" href="classExiv2_1_1Value.html">Exiv2::Value</a> defines
|
||||
the interface to access tag information, from which concrete values are
|
||||
derived. The actual value used in a metadatum depends on the type of
|
||||
the Exif tag or IPTC dataset. It is usually determined when the Exif metadata
|
||||
is read from an image. It is also possible to manually create a Value and
|
||||
together with a key add it to an ExifData or IptcData container.</p>
|
||||
|
||||
Top-level Exiv2 classes to access XMP metadata are
|
||||
<a class="el" href="classExiv2_1_1XmpData.html">Exiv2::XmpData</a>,
|
||||
<a class="el" href="classExiv2_1_1Xmpdatum.html">Exiv2::Xmpdatum</a>
|
||||
and <a class="el" href="classExiv2_1_1XmpKey.html">Exiv2::XmpKey</a>.
|
||||
They work similar to the corresponding Exif and IPTC classes.
|
||||
The property-repository is <a class="el" href="classExiv2_1_1XmpProperties.html">Exiv2::XmpProperties</a>.
|
||||
In addition to the expected new members, class
|
||||
<a class="el" href="classExiv2_1_1Image.html">Exiv2::Image</a>
|
||||
also has an interface to access the raw XMP packet.
|
||||
|
||||
All XMP value types are supported: Simple types, structures,
|
||||
arrays, property qualifiers and language alternatives.
|
||||
|
||||
XMP properties are accessed through keys of the form
|
||||
"Xmp.<Prefix>.<PropertyPath>", where <Prefix> is the preferred
|
||||
(or rather, registered) prefix for a schema namespace and
|
||||
<PropertyPath> is the path of the XMP node. In its most basic
|
||||
form, to address simple properties, <PropertyPath> is the name
|
||||
of the property. In general, <PropertyPath> can be used to
|
||||
address any XMP node, including array items, structure fields
|
||||
qualifiers and deeply nested properties.
|
||||
|
||||
Any properties in known namespaces are supported and additional
|
||||
namespaces can be registered.
|
||||
|
||||
The specialized Exiv2 values
|
||||
<a class="el" href="classExiv2_1_1XmpTextValue.html">Exiv2::XmpTextValue</a>,
|
||||
<a class="el" href="classExiv2_1_1XmpArrayValue.html">Exiv2::XmpArrayValue</a>
|
||||
and <a class="el" href="classExiv2_1_1LangAltValue.html">Exiv2::LangAltValue</a> are
|
||||
provided to simplify the use of XMP properties.
|
||||
|
||||
Note: Unlike Exif and IPTC tags, XMP properties do not have
|
||||
a tag number.
|
||||
|
||||
<h2><a href="examples.html">Examples</a></h2>
|
||||
|
||||
<p>There are several simple examples that demonstrate the basic use of Exiv2
|
||||
functionality: <a href="exifprint_8cpp-example.html">Exifprint</a>
|
||||
shows how the Exif data of an image can be read and written to the screen.
|
||||
<a href="iptcprint_8cpp-example.html">Iptcprint</a> is a similar
|
||||
example to print IPTC data.
|
||||
<a href="addmoddel_8cpp-example.html">Addmoddel</a> shows how to
|
||||
add, modify and delete Exif metadata.
|
||||
<a href="exifcomment_8cpp-example.html">Exifcomment</a> shows how to
|
||||
set the exif comment of an image.
|
||||
<a href="xmpsample_8cpp-example.html">Xmpsample.cpp</a> contains examples
|
||||
of how to set various types of XMP properties.<br>
|
||||
For more real-world code have a look at the implementation of the
|
||||
different actions of the Exiv2 utility (actions.cpp).</p>
|
||||
|
||||
<h2><a href="makernote.html">Makernotes</a></h2>
|
||||
|
||||
<p>Exif Makernote data can be accessed through ExifData in the same
|
||||
way as the standard Exif tags. In other words, for each entry of a
|
||||
known Makernote, there is a corresponding Metadatum in the ExifData
|
||||
container. The abstract base class
|
||||
<a class="el" href="classExiv2_1_1MakerNote.html">Exiv2::MakerNote</a> defines
|
||||
the Makernote interface. Subclass
|
||||
<a class="el" href="classExiv2_1_1IfdMakerNote.html">Exiv2::IfdMakerNote</a>
|
||||
models makernotes encoded in IFD format.
|
||||
<a href="classExiv2_1_1MakerNote.html#_details">Implementing a new
|
||||
IFD makernote</a> is straightforward. Implementing a new makernote that is not
|
||||
encoded in IFD format however, is more difficult. Please
|
||||
<a href="mailto:ahuggel@gmx.net"> contact me</a> if you have such a
|
||||
makernote specification and would like assistance adding it to Exiv2.</p>
|
||||
|
||||
<h2><a class="anchor">IFD (Image File Directory)</a></h2>
|
||||
|
||||
<p><a class="el" href="classExiv2_1_1Ifd.html">Exiv2::Ifd</a> is a generic
|
||||
low-level class that models an image file directory as defined by TIFF
|
||||
and used in the Exif standard. Exiv2::Ifd could be used to implement
|
||||
read only as well as read/write access to Exif (or TIFF) data without
|
||||
the overhead (and convenience) of Exiv2::ExifData.</p>
|
||||
|
||||
<h2><a class="anchor">Components</a></h2>
|
||||
|
||||
<p>The picture below shows the components that make up the Exiv2
|
||||
library and how they depend on each other. Component names are the
|
||||
same as the basenames of their source files. Each component has its
|
||||
own header and source files.</p>
|
||||
|
||||
<center>
|
||||
<h3><a class="anchor">Exiv2 Components Diagram</a></h3>
|
||||
<p><img src="../include/exiv2-components.png" width="660" height="543" alt="Exiv2 components diagram"></p>
|
||||
</center>
|
||||
<p> </p>
|
Loading…
Reference in New Issue