diff --git a/doc/templates/__intro__ b/doc/templates/__intro__ new file mode 100644 index 00000000..85f5656b --- /dev/null +++ b/doc/templates/__intro__ @@ -0,0 +1,127 @@ +
The Exiv2 library is made up of all +elements defined in the Exiv2 +namespace. The Action and Util namespaces are only used by the +Exiv2 command line utility.
+ +The top-level class of the Exiv2 library is +Exiv2::Image + +(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 +Exiv2::ImageFactory +to access images in files or memory, in which case the image format +is transparent to them.
+ +Exif and IPTC metadata is manipulated through the classes +Exiv2::ExifData +and Exiv2::IptcData. +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 +Exiv2::Metadatum. +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 +Exiv2::Key defines the +interface for a key. Concrete keys implement Exif and IPTC keys. +The abstract base class +Exiv2::Value 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.
+ +Top-level Exiv2 classes to access XMP metadata are +Exiv2::XmpData, +Exiv2::Xmpdatum +and Exiv2::XmpKey. +They work similar to the corresponding Exif and IPTC classes. +The property-repository is Exiv2::XmpProperties. +In addition to the expected new members, class +Exiv2::Image +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 +Exiv2::XmpTextValue, +Exiv2::XmpArrayValue +and Exiv2::LangAltValue are +provided to simplify the use of XMP properties. + +Note: Unlike Exif and IPTC tags, XMP properties do not have +a tag number. + +There are several simple examples that demonstrate the basic use of Exiv2
+functionality: Exifprint
+shows how the Exif data of an image can be read and written to the screen.
+Iptcprint is a similar
+example to print IPTC data.
+Addmoddel shows how to
+add, modify and delete Exif metadata.
+Exifcomment shows how to
+set the exif comment of an image.
+Xmpsample.cpp contains examples
+of how to set various types of XMP properties.
+For more real-world code have a look at the implementation of the
+different actions of the Exiv2 utility (actions.cpp).
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 +Exiv2::MakerNote defines +the Makernote interface. Subclass +Exiv2::IfdMakerNote +models makernotes encoded in IFD format. +Implementing a new +IFD makernote is straightforward. Implementing a new makernote that is not +encoded in IFD format however, is more difficult. Please + contact me if you have such a +makernote specification and would like assistance adding it to Exiv2.
+ +Exiv2::Ifd 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.
+ +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.
+ +diff --git a/doc/templates/getting-started.html.in b/doc/templates/getting-started.html.in index c06bcb73..24dee476 100644 --- a/doc/templates/getting-started.html.in +++ b/doc/templates/getting-started.html.in @@ -8,133 +8,7 @@ __index1__
The Exiv2 library is made up of all -elements defined in the Exiv2 -namespace. The Action and Util namespaces are only used by the -Exiv2 command line utility.
- -The top-level class of the Exiv2 library is -Exiv2::Image - -(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 -Exiv2::ImageFactory -to access images in files or memory, in which case the image format -is transparent to them.
- -Exif and IPTC metadata is manipulated through the classes -Exiv2::ExifData -and Exiv2::IptcData. -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 -Exiv2::Metadatum. -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 -Exiv2::Key defines the -interface for a key. Concrete keys implement Exif and IPTC keys. -The abstract base class -Exiv2::Value 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.
- -Top-level Exiv2 classes to access XMP metadata are -Exiv2::XmpData, -Exiv2::Xmpdatum -and Exiv2::XmpKey. -They work similar to the corresponding Exif and IPTC classes. -The property-repository is Exiv2::XmpProperties. -In addition to the expected new members, class -Exiv2::Image -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 -Exiv2::XmpTextValue, -Exiv2::XmpArrayValue -and Exiv2::LangAltValue are -provided to simplify the use of XMP properties. - -Note: Unlike Exif and IPTC tags, XMP properties do not have -a tag number. - -There are several simple examples that demonstrate the basic use of Exiv2
-functionality: Exifprint
-shows how the Exif data of an image can be read and written to the screen.
-Iptcprint is a similar
-example to print IPTC data.
-Addmoddel shows how to
-add, modify and delete Exif metadata.
-Exifcomment shows how to
-set the exif comment of an image.
-Xmpsample.cpp contains examples
-of how to set various types of XMP properties.
-For more real-world code have a look at the implementation of the
-different actions of the Exiv2 utility (actions.cpp).
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 -Exiv2::MakerNote defines -the Makernote interface. Subclass -Exiv2::IfdMakerNote -models makernotes encoded in IFD format. -Implementing a new -IFD makernote is straightforward. Implementing a new makernote that is not -encoded in IFD format however, is more difficult. Please - contact me if you have such a -makernote specification and would like assistance adding it to Exiv2.
- -Exiv2::Ifd 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.
- -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.
- -+__intro__