Changed %Exif to Exif in doc (we can do that now because of the change of namespace name
This commit is contained in:
parent
d7f059d547
commit
bb111fb147
@ -22,7 +22,7 @@
|
||||
@file actions.hpp
|
||||
@brief Implements base class Task, TaskFactory and the various supported
|
||||
actions (derived from Task).
|
||||
@version $Name: $ $Revision: 1.8 $
|
||||
@version $Name: $ $Revision: 1.9 $
|
||||
@author Andreas Huggel (ahu)
|
||||
<a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a>
|
||||
@date 11-Dec-03, ahu: created
|
||||
@ -141,7 +141,7 @@ namespace Action {
|
||||
|
||||
}; // class TaskFactory
|
||||
|
||||
//! %Print the %Exif (or other metadata) of a file to stdout
|
||||
//! %Print the Exif (or other metadata) of a file to stdout
|
||||
class Print : public Task {
|
||||
public:
|
||||
virtual ~Print() {}
|
||||
@ -149,13 +149,13 @@ namespace Action {
|
||||
typedef std::auto_ptr<Print> AutoPtr;
|
||||
AutoPtr clone() const;
|
||||
|
||||
//! Print %Exif summary information
|
||||
//! Print Exif summary information
|
||||
void printSummary(const Exiv2::ExifData& exifData);
|
||||
//! Print the interpreted value for each %Exif tag
|
||||
//! Print the interpreted value for each Exif tag
|
||||
void printInterpreted(const Exiv2::ExifData& exifData);
|
||||
//! Print uninterpreted %Exif information
|
||||
//! Print uninterpreted Exif information
|
||||
void printValues(const Exiv2::ExifData& exifData);
|
||||
//! Print %Exif information in hexdump format
|
||||
//! Print Exif information in hexdump format
|
||||
void printHexdump(const Exiv2::ExifData& exifData);
|
||||
/*!
|
||||
@brief Print one summary line with a label (if provided) and requested
|
||||
@ -188,7 +188,7 @@ namespace Action {
|
||||
virtual Task* clone_() const;
|
||||
}; // class Rename
|
||||
|
||||
//! %Adjust the %Exif (or other metadata) timestamps
|
||||
//! %Adjust the Exif (or other metadata) timestamps
|
||||
class Adjust : public Task {
|
||||
public:
|
||||
virtual ~Adjust() {}
|
||||
@ -220,7 +220,7 @@ namespace Action {
|
||||
*/
|
||||
int eraseThumbnail(Exiv2::ExifData& exifData) const;
|
||||
/*!
|
||||
@brief Erase the complete %Exif data block from the file.
|
||||
@brief Erase the complete Exif data block from the file.
|
||||
*/
|
||||
int eraseExifData(Exiv2::ExifData& exifData) const;
|
||||
|
||||
@ -244,11 +244,11 @@ namespace Action {
|
||||
@brief Write the thumbnail image to a file. The filename is composed by
|
||||
removing the suffix from the image filename and appending
|
||||
"-thumb" and the appropriate suffix (".jpg" or ".tif"), depending
|
||||
on the format of the %Exif thumbnail image.
|
||||
on the format of the Exif thumbnail image.
|
||||
*/
|
||||
int writeThumbnail(const Exiv2::ExifData& exifData) const;
|
||||
/*!
|
||||
@brief Write the %Exif data to a file. The filename is composed by
|
||||
@brief Write the Exif data to a file. The filename is composed by
|
||||
replacing the suffix of the image filename with ".exf".
|
||||
*/
|
||||
int writeExifData(Exiv2::ExifData& exifData) const;
|
||||
@ -260,7 +260,7 @@ namespace Action {
|
||||
}; // class Extract
|
||||
|
||||
/*!
|
||||
@brief %Insert the %Exif data from corresponding *.exv files.
|
||||
@brief %Insert the Exif data from corresponding *.exv files.
|
||||
*/
|
||||
class Insert : public Task {
|
||||
public:
|
||||
|
||||
100
src/exif.hpp
100
src/exif.hpp
@ -20,8 +20,8 @@
|
||||
*/
|
||||
/*!
|
||||
@file exif.hpp
|
||||
@brief Encoding and decoding of %Exif data
|
||||
@version $Name: $ $Revision: 1.40 $
|
||||
@brief Encoding and decoding of Exif data
|
||||
@version $Name: $ $Revision: 1.41 $
|
||||
@author Andreas Huggel (ahu)
|
||||
<a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a>
|
||||
@date 09-Jan-04, ahu: created
|
||||
@ -46,7 +46,7 @@
|
||||
// *****************************************************************************
|
||||
// namespace extensions
|
||||
/*!
|
||||
@brief Provides classes and functions to encode and decode %Exif data.
|
||||
@brief Provides classes and functions to encode and decode Exif data.
|
||||
This namespace corresponds to the <b>libexiv2</b> library.
|
||||
|
||||
*/
|
||||
@ -61,7 +61,7 @@ namespace Exiv2 {
|
||||
// class definitions
|
||||
|
||||
/*!
|
||||
@brief Information related to one %Exif tag.
|
||||
@brief Information related to one Exif tag.
|
||||
*/
|
||||
class Metadatum {
|
||||
public:
|
||||
@ -242,9 +242,9 @@ namespace Exiv2 {
|
||||
std::ostream& operator<<(std::ostream& os, const Metadatum& md);
|
||||
|
||||
/*!
|
||||
@brief %Exif %Thumbnail image. This abstract base class provides the
|
||||
@brief Exif %Thumbnail image. This abstract base class provides the
|
||||
interface for the thumbnail image that is optionally embedded in
|
||||
the %Exif data.
|
||||
the Exif data.
|
||||
*/
|
||||
class Thumbnail {
|
||||
public:
|
||||
@ -257,20 +257,20 @@ namespace Exiv2 {
|
||||
//! @name Manipulators
|
||||
//@{
|
||||
/*!
|
||||
@brief Read the thumbnail from the data buffer buf, using %Exif
|
||||
@brief Read the thumbnail from the data buffer buf, using Exif
|
||||
metadata exifData. Return 0 if successful.
|
||||
|
||||
@param buf Data buffer containing the thumbnail data. The buffer must
|
||||
start with the TIFF header.
|
||||
@param exifData %Exif data corresponding to the data buffer.
|
||||
@param exifData Exif data corresponding to the data buffer.
|
||||
@param byteOrder The byte order used for the encoding of TIFF
|
||||
thumbnails. It determines the byte order of the resulting
|
||||
thumbnail image, if it is in TIFF format. For JPEG thumbnails
|
||||
the byte order is not used.
|
||||
@return 0 if successful<br>
|
||||
-1 if there is no thumbnail image in the %Exif data<br>
|
||||
1 in case of inconsistent JPEG thumbnail %Exif data
|
||||
2 in case of inconsistent TIFF thumbnail %Exif data<br>
|
||||
-1 if there is no thumbnail image in the Exif data<br>
|
||||
1 in case of inconsistent JPEG thumbnail Exif data
|
||||
2 in case of inconsistent TIFF thumbnail Exif data<br>
|
||||
*/
|
||||
virtual int read(const char* buf,
|
||||
const ExifData& exifData,
|
||||
@ -318,7 +318,7 @@ namespace Exiv2 {
|
||||
*/
|
||||
virtual long copy(char* buf) const =0;
|
||||
/*!
|
||||
@brief Update the %Exif data according to the actual thumbnail image.
|
||||
@brief Update the Exif data according to the actual thumbnail image.
|
||||
|
||||
If the type of the thumbnail image is JPEG, JPEGInterchangeFormat is
|
||||
set to 0. If the type is TIFF, StripOffsets are set to the offsets of
|
||||
@ -327,12 +327,12 @@ namespace Exiv2 {
|
||||
virtual void update(ExifData& exifData) const =0;
|
||||
/*!
|
||||
@brief Return the position of the thumbnail image data from the
|
||||
start of the TIFF header in the original %Exif data.
|
||||
start of the TIFF header in the original Exif data.
|
||||
*/
|
||||
virtual long offset() const =0;
|
||||
/*!
|
||||
@brief Return the size of the thumbnail image (the size it
|
||||
would occupy when extracted from the %Exif data)
|
||||
would occupy when extracted from the Exif data)
|
||||
*/
|
||||
virtual long size() const =0;
|
||||
/*!
|
||||
@ -354,7 +354,7 @@ namespace Exiv2 {
|
||||
|
||||
}; // class Thumbnail
|
||||
|
||||
//! %Exif thumbnail image in TIFF format
|
||||
//! Exif thumbnail image in TIFF format
|
||||
class TiffThumbnail : public Thumbnail {
|
||||
public:
|
||||
//! @name Creators
|
||||
@ -400,7 +400,7 @@ namespace Exiv2 {
|
||||
|
||||
}; // class TiffThumbnail
|
||||
|
||||
//! %Exif thumbnail image in JPEG format
|
||||
//! Exif thumbnail image in JPEG format
|
||||
class JpegThumbnail : public Thumbnail {
|
||||
public:
|
||||
//! @name Creators
|
||||
@ -484,16 +484,16 @@ namespace Exiv2 {
|
||||
}; // class FindMetadatumByIfdIdIdx
|
||||
|
||||
/*!
|
||||
@brief A container for %Exif data. This is the top-level class of
|
||||
the Exiv2 library.
|
||||
@brief A container for Exif data. This is the top-level class of
|
||||
the %Exiv2 library.
|
||||
|
||||
Provide high-level access to the %Exif data of an image:
|
||||
- read %Exif information from JPEG files
|
||||
Provide high-level access to the Exif data of an image:
|
||||
- read Exif information from JPEG files
|
||||
- access metadata through keys and standard C++ iterators
|
||||
- add, modify and delete metadata
|
||||
- write %Exif data to JPEG files
|
||||
- extract %Exif metadata to files, insert from these files
|
||||
- extract and delete %Exif thumbnail (JPEG and TIFF thumbnails)
|
||||
- write Exif data to JPEG files
|
||||
- extract Exif metadata to files, insert from these files
|
||||
- extract and delete Exif thumbnail (JPEG and TIFF thumbnails)
|
||||
*/
|
||||
class ExifData {
|
||||
//! @name Not implemented
|
||||
@ -520,7 +520,7 @@ namespace Exiv2 {
|
||||
//! @name Manipulators
|
||||
//@{
|
||||
/*!
|
||||
@brief Read the %Exif data from file path.
|
||||
@brief Read the Exif data from file path.
|
||||
@param path Path to the file
|
||||
@return 0 if successful;<BR>
|
||||
-1 if the file couldn't be opened;<BR>
|
||||
@ -532,7 +532,7 @@ namespace Exiv2 {
|
||||
*/
|
||||
int read(const std::string& path);
|
||||
/*!
|
||||
@brief Read the %Exif data from a character buffer. The data buffer
|
||||
@brief Read the Exif data from a character buffer. The data buffer
|
||||
must start with the TIFF header.
|
||||
@param buf Pointer to the data buffer to read from
|
||||
@param len Number of bytes in the data buffer
|
||||
@ -540,38 +540,38 @@ namespace Exiv2 {
|
||||
*/
|
||||
int read(const char* buf, long len);
|
||||
/*!
|
||||
@brief Write the %Exif data to file path. If an %Exif data section
|
||||
@brief Write the Exif data to file path. If an Exif data section
|
||||
already exists in the file, it is replaced. Otherwise, an
|
||||
%Exif data section is created. See copy(char* buf) for further
|
||||
Exif data section is created. See copy(char* buf) for further
|
||||
details.
|
||||
|
||||
@return 0 if successful.
|
||||
*/
|
||||
int write(const std::string& path);
|
||||
/*!
|
||||
@brief Write the %Exif data to a binary file. By convention, the
|
||||
@brief Write the Exif data to a binary file. By convention, the
|
||||
filename extension should be ".exv". This file format contains
|
||||
the %Exif data as it is found in a JPEG file, starting with the
|
||||
the Exif data as it is found in a JPEG file, starting with the
|
||||
APP1 marker 0xffe1, the size of the data and the string
|
||||
"Exif\0\0". Exv files can be read with
|
||||
int read(const std::string& path) just like image %Exif data.
|
||||
int read(const std::string& path) just like image Exif data.
|
||||
*/
|
||||
int writeExifData(const std::string& path);
|
||||
/*!
|
||||
@brief Write the %Exif data to a data buffer, return number of bytes
|
||||
@brief Write the Exif data to a data buffer, return number of bytes
|
||||
written. The copied data starts with the TIFF header.
|
||||
|
||||
Tries to update the original data buffer and write it back with
|
||||
minimal changes, in a 'non-intrusive' fashion, if possible. In this
|
||||
case, tag data that ExifData does not understand stand a good chance
|
||||
to remain valid. (In particular, if the %Exif data contains a
|
||||
to remain valid. (In particular, if the Exif data contains a
|
||||
Makernote in IFD format, the offsets in its IFD will remain valid.)
|
||||
<BR>
|
||||
If 'non-intrusive' writing is not possible, the %Exif data will be
|
||||
If 'non-intrusive' writing is not possible, the Exif data will be
|
||||
re-built from scratch, in which case the absolute position of the
|
||||
metadata entries within the data buffer may (and in most cases will)
|
||||
be different from their original position. Furthermore, in this case,
|
||||
the %Exif data is updated with the metadata from the actual thumbnail
|
||||
the Exif data is updated with the metadata from the actual thumbnail
|
||||
image (overriding existing metadata).
|
||||
|
||||
@param buf The data buffer to write to. The user must ensure that the
|
||||
@ -582,7 +582,7 @@ namespace Exiv2 {
|
||||
long copy(char* buf);
|
||||
/*!
|
||||
@brief Add all (IFD) entries in the range from iterator position begin
|
||||
to iterator position end to the %Exif metadata. No duplicate
|
||||
to iterator position end to the Exif metadata. No duplicate
|
||||
checks are performed, i.e., it is possible to add multiple
|
||||
metadata with the same key.
|
||||
*/
|
||||
@ -597,7 +597,7 @@ namespace Exiv2 {
|
||||
*/
|
||||
void add(const std::string& key, Value* value);
|
||||
/*!
|
||||
@brief Add a copy of the metadatum to the %Exif metadata. No
|
||||
@brief Add a copy of the metadatum to the Exif metadata. No
|
||||
duplicate checks are performed, i.e., it is possible to add
|
||||
multiple metadata with the same key.
|
||||
*/
|
||||
@ -637,18 +637,18 @@ namespace Exiv2 {
|
||||
*/
|
||||
iterator findIfdIdIdx(IfdId ifdId, int idx);
|
||||
/*!
|
||||
@brief Delete the thumbnail from the %Exif data. Removes all related
|
||||
@brief Delete the thumbnail from the Exif data. Removes all related
|
||||
(%Thumbnail.*.*, i.e., IFD1) metadata as well.
|
||||
|
||||
@return The number of bytes of thumbnail data erased from the original
|
||||
%Exif data. Note that the original image size may differ from
|
||||
Exif data. Note that the original image size may differ from
|
||||
the size of the image after deleting the thumbnail by more
|
||||
than this number. This is the case if the %Exif data contains
|
||||
extra bytes (often at the end of the %Exif block) or gaps and
|
||||
the thumbnail is not located at the end of the %Exif block so
|
||||
that non-intrusive writing of a truncated %Exif block is not
|
||||
than this number. This is the case if the Exif data contains
|
||||
extra bytes (often at the end of the Exif block) or gaps and
|
||||
the thumbnail is not located at the end of the Exif block so
|
||||
that non-intrusive writing of a truncated Exif block is not
|
||||
possible. Instead it is in this case necessary to write the
|
||||
%Exif data, without the thumbnail, from the metadata and all
|
||||
Exif data, without the thumbnail, from the metadata and all
|
||||
extra bytes and gaps are lost, resulting in a smaller image.
|
||||
*/
|
||||
long eraseThumbnail();
|
||||
@ -657,7 +657,7 @@ namespace Exiv2 {
|
||||
//! @name Accessors
|
||||
//@{
|
||||
/*!
|
||||
@brief Erase the %Exif data section from file path.
|
||||
@brief Erase the Exif data section from file path.
|
||||
@param path Path to the file.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
@ -688,9 +688,9 @@ namespace Exiv2 {
|
||||
//! Get the number of metadata entries
|
||||
long count() const { return metadata_.size(); }
|
||||
/*!
|
||||
@brief Return the approximate size of all %Exif data (TIFF header plus
|
||||
@brief Return the approximate size of all Exif data (TIFF header plus
|
||||
metadata). The number returned may be bigger than the actual
|
||||
size of the %Exif data, but it is never smaller. Only copy()
|
||||
size of the Exif data, but it is never smaller. Only copy()
|
||||
returns the exact size.
|
||||
*/
|
||||
long size() const;
|
||||
@ -705,20 +705,20 @@ namespace Exiv2 {
|
||||
int writeThumbnail(const std::string& path) const
|
||||
{ return pThumbnail_ ? pThumbnail_->write(path) : 0; }
|
||||
/*!
|
||||
@brief Return a short string describing the format of the %Exif
|
||||
@brief Return a short string describing the format of the Exif
|
||||
thumbnail ("TIFF", "JPEG").
|
||||
*/
|
||||
const char* thumbnailFormat() const
|
||||
{ return pThumbnail_ ? pThumbnail_->format() : ""; }
|
||||
/*!
|
||||
@brief Return the file extension for the %Exif thumbnail depending
|
||||
@brief Return the file extension for the Exif thumbnail depending
|
||||
on the format (".tif", ".jpg").
|
||||
*/
|
||||
const char* thumbnailExtension() const
|
||||
{ return pThumbnail_ ? pThumbnail_->extension() : ""; }
|
||||
/*!
|
||||
@brief Return the size of the thumbnail image. This is the size that
|
||||
the thumbnail would occupy when extracted from the %Exif data.
|
||||
the thumbnail would occupy when extracted from the Exif data.
|
||||
*/
|
||||
long thumbnailSize() const
|
||||
{ return pThumbnail_ ? pThumbnail_->size() : 0; }
|
||||
@ -797,7 +797,7 @@ namespace Exiv2 {
|
||||
// DATA
|
||||
TiffHeader tiffHeader_;
|
||||
Metadata metadata_;
|
||||
Thumbnail* pThumbnail_; //!< Pointer to the %Exif thumbnail image
|
||||
Thumbnail* pThumbnail_; //!< Pointer to the Exif thumbnail image
|
||||
MakerNote* pMakerNote_; //!< Pointer to the MakerNote
|
||||
// Todo: implement reference counting instead
|
||||
// of making ExifData own this pointer
|
||||
|
||||
12
src/ifd.hpp
12
src/ifd.hpp
@ -21,7 +21,7 @@
|
||||
/*!
|
||||
@file ifd.hpp
|
||||
@brief Encoding and decoding of IFD (Image File Directory) data
|
||||
@version $Name: $ $Revision: 1.15 $
|
||||
@version $Name: $ $Revision: 1.16 $
|
||||
@author Andreas Huggel (ahu)
|
||||
<a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a>
|
||||
@date 09-Jan-04, ahu: created
|
||||
@ -94,8 +94,8 @@ namespace Exiv2 {
|
||||
The size of the data buffer is set to at least four bytes, but is left
|
||||
unchanged if it can accomodate the pointer. This method can be used
|
||||
to set the value of a tag which contains a pointer (offset) to a
|
||||
location in the %Exif data (like e.g., ExifTag, 0x8769 in IFD0, which
|
||||
contains a pointer to the %Exif IFD).
|
||||
location in the Exif data (like e.g., ExifTag, 0x8769 in IFD0, which
|
||||
contains a pointer to the Exif IFD).
|
||||
<BR>This method cannot be used to set the value of a newly created
|
||||
%Entry in non-alloc mode.
|
||||
*/
|
||||
@ -251,9 +251,9 @@ namespace Exiv2 {
|
||||
of %Ifd which operates in no memory management mode. The %Ifd will
|
||||
maintain only pointers into this buffer.
|
||||
<BR> The mode without memory management is used to make "non-intrusive
|
||||
write support" possible. This allows writing to %Exif data of an image
|
||||
without changing the data layout of the %Exif data, to maximize chances
|
||||
that tag data, which the %Exif reader may not understand (e.g., the
|
||||
write support" possible. This allows writing to Exif data of an image
|
||||
without changing the data layout of the Exif data, to maximize chances
|
||||
that tag data, which the Exif reader may not understand (e.g., the
|
||||
Makernote) remains valid. A "non-intrusive write operation" is the
|
||||
modification of tag data without increasing the data size.
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
/*!
|
||||
@file image.hpp
|
||||
@brief Class JpegImage to access JPEG images
|
||||
@version $Name: $ $Revision: 1.12 $
|
||||
@version $Name: $ $Revision: 1.13 $
|
||||
@author Andreas Huggel (ahu)
|
||||
<a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a>
|
||||
@date 09-Jan-04, ahu: created
|
||||
@ -65,21 +65,21 @@ namespace Exiv2 {
|
||||
//! @name Manipulators
|
||||
//@{
|
||||
/*!
|
||||
@brief Read the %Exif data from the file path into the internal
|
||||
@brief Read the Exif data from the file path into the internal
|
||||
data buffer.
|
||||
@param path Path to the file.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
virtual int readExifData(const std::string& path) =0;
|
||||
/*!
|
||||
@brief Read the %Exif data from the stream into the internal
|
||||
@brief Read the Exif data from the stream into the internal
|
||||
data buffer.
|
||||
@param is Input stream to read from.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
virtual int readExifData(std::istream& is) =0;
|
||||
/*!
|
||||
@brief Read the %Exif data from the buffer buf which has size bytes.
|
||||
@brief Read the Exif data from the buffer buf which has size bytes.
|
||||
@param buf Pointer to the data buffer.
|
||||
@param size Number of characters in the data buffer.
|
||||
*/
|
||||
@ -112,41 +112,41 @@ namespace Exiv2 {
|
||||
*/
|
||||
virtual bool isThisType(std::istream& is, bool advance =false) const =0;
|
||||
/*!
|
||||
@brief Erase the %Exif data from file path.
|
||||
@brief Erase the Exif data from file path.
|
||||
@param path Path to the file.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
virtual int eraseExifData(const std::string& path) const =0;
|
||||
/*!
|
||||
@brief Read from the image input stream is, erase %Exif data from the
|
||||
@brief Read from the image input stream is, erase Exif data from the
|
||||
image, if there is any, and write the resulting image to the
|
||||
output stream os.
|
||||
@param os Output stream to write to (e.g., a temporary file).
|
||||
@param is Input stream with the image from which the %Exif data
|
||||
@param is Input stream with the image from which the Exif data
|
||||
should be erased.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
virtual int eraseExifData(std::ostream& os, std::istream& is) const =0;
|
||||
/*!
|
||||
@brief Write the %Exif data to file path.
|
||||
@brief Write the Exif data to file path.
|
||||
@param path Path to the file.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
virtual int writeExifData(const std::string& path) const =0;
|
||||
/*!
|
||||
@brief Read from the image input stream is, add %Exif data to the
|
||||
image, replacing existing %Exif data, if there is any) and
|
||||
@brief Read from the image input stream is, add Exif data to the
|
||||
image, replacing existing Exif data, if there is any) and
|
||||
write the resulting image to the output stream os.
|
||||
@param os Output stream to write to (e.g., a temporary file).
|
||||
@param is Input stream with the image to which the %Exif data
|
||||
@param is Input stream with the image to which the Exif data
|
||||
should be copied.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
virtual int writeExifData(std::ostream& os, std::istream& is) const =0;
|
||||
//! Return the size of the %Exif data in bytes.
|
||||
//! Return the size of the Exif data in bytes.
|
||||
virtual long sizeExifData() const =0;
|
||||
/*!
|
||||
@brief Return a read-only pointer to an %Exif data buffer. Do not
|
||||
@brief Return a read-only pointer to an Exif data buffer. Do not
|
||||
attempt to write to this buffer.
|
||||
*/
|
||||
virtual const char* exifData() const =0;
|
||||
@ -256,7 +256,7 @@ namespace Exiv2 {
|
||||
//! Assignment operator
|
||||
JpegImage& operator=(const JpegImage& rhs);
|
||||
/*!
|
||||
@brief Read the %Exif data from the file path into the internal
|
||||
@brief Read the Exif data from the file path into the internal
|
||||
data buffer.
|
||||
@param path Path to the file.
|
||||
@return 0 if successful;<BR>
|
||||
@ -266,19 +266,19 @@ namespace Exiv2 {
|
||||
*/
|
||||
int readExifData(const std::string& path);
|
||||
/*!
|
||||
@brief Read the %Exif data from the stream into the internal
|
||||
@brief Read the Exif data from the stream into the internal
|
||||
data buffer.
|
||||
@param is Input stream to read from.
|
||||
@return 0 if successful;<BR>
|
||||
1 if reading from the stream failed (consult the stream state
|
||||
for more information);<BR>
|
||||
2 if the stream does not contain a JPEG image;<BR>
|
||||
3 if no %Exif APP1 segment was found after SOI at the
|
||||
3 if no Exif APP1 segment was found after SOI at the
|
||||
beginning of the input stream.
|
||||
*/
|
||||
int readExifData(std::istream& is);
|
||||
/*!
|
||||
@brief Set the %Exif data. The data is copied into the internal
|
||||
@brief Set the Exif data. The data is copied into the internal
|
||||
data buffer.
|
||||
@param buf Pointer to the data buffer.
|
||||
@param size Number of characters in the data buffer.
|
||||
@ -309,8 +309,8 @@ namespace Exiv2 {
|
||||
*/
|
||||
bool isThisType(std::istream& is, bool advance) const;
|
||||
/*!
|
||||
@brief Erase the %Exif data from file path, which must contain a JPEG
|
||||
image. If an %Exif APP1 section exists in the file, it is
|
||||
@brief Erase the Exif data from file path, which must contain a JPEG
|
||||
image. If an Exif APP1 section exists in the file, it is
|
||||
erased.
|
||||
@param path Path to the file.
|
||||
@return 0 if successful;<br>
|
||||
@ -323,26 +323,26 @@ namespace Exiv2 {
|
||||
*/
|
||||
int eraseExifData(const std::string& path) const;
|
||||
/*!
|
||||
@brief Erase %Exif data from the JPEG image is, write the resulting
|
||||
image to the output stream os. If an %Exif APP1 section exists
|
||||
@brief Erase Exif data from the JPEG image is, write the resulting
|
||||
image to the output stream os. If an Exif APP1 section exists
|
||||
in the input file, it is erased.
|
||||
@param os Output stream to write to (e.g., a temporary file).
|
||||
@param is Input stream with the JPEG image from which the %Exif data
|
||||
@param is Input stream with the JPEG image from which the Exif data
|
||||
should be erased.
|
||||
@return 0 if successful;<BR>
|
||||
1 if reading from the input stream failed (consult the stream
|
||||
state for more information);<BR>
|
||||
2 if the input stream does not contain a JPEG image;<BR>
|
||||
3 if neither a JFIF APP0 segment nor a %Exif APP1 segment was
|
||||
3 if neither a JFIF APP0 segment nor a Exif APP1 segment was
|
||||
found after SOI at the beginning of the input stream;<BR>
|
||||
4 if writing to the output stream failed (consult the stream
|
||||
state for more information).
|
||||
*/
|
||||
int eraseExifData(std::ostream& os, std::istream& is) const;
|
||||
/*!
|
||||
@brief Write the %Exif data to file path, which must contain a JPEG
|
||||
image. If an %Exif APP1 section exists in the file, it is
|
||||
replaced. Otherwise, an %Exif data section is created.
|
||||
@brief Write the Exif data to file path, which must contain a JPEG
|
||||
image. If an Exif APP1 section exists in the file, it is
|
||||
replaced. Otherwise, an Exif data section is created.
|
||||
@param path Path to the file.
|
||||
@return 0 if successful;<br>
|
||||
-1 if the input file cannot be opened;<br>
|
||||
@ -354,26 +354,26 @@ namespace Exiv2 {
|
||||
*/
|
||||
int writeExifData(const std::string& path) const;
|
||||
/*!
|
||||
@brief Copy %Exif data into the JPEG image is, write the resulting
|
||||
image to the output stream os. If an %Exif APP1 section exists
|
||||
in the input file, it is replaced. Otherwise, an %Exif data
|
||||
@brief Copy Exif data into the JPEG image is, write the resulting
|
||||
image to the output stream os. If an Exif APP1 section exists
|
||||
in the input file, it is replaced. Otherwise, an Exif data
|
||||
section is created.
|
||||
@param os Output stream to write to (e.g., a temporary file).
|
||||
@param is Input stream with the JPEG image to which the %Exif data
|
||||
@param is Input stream with the JPEG image to which the Exif data
|
||||
should be copied.
|
||||
@return 0 if successful;<BR>
|
||||
1 if reading from the input stream failed (consult the stream
|
||||
state for more information);<BR>
|
||||
2 if the input stream does not contain a JPEG image;<BR>
|
||||
3 if neither a JFIF APP0 segment nor a %Exif APP1 segment was
|
||||
3 if neither a JFIF APP0 segment nor a Exif APP1 segment was
|
||||
found after SOI at the beginning of the input stream;<BR>
|
||||
4 if writing to the output stream failed (consult the stream
|
||||
state for more information).
|
||||
*/
|
||||
int writeExifData(std::ostream& os, std::istream& is) const;
|
||||
//! Return the size of the %Exif data buffer
|
||||
//! Return the size of the Exif data buffer
|
||||
long sizeExifData() const { return sizeExifData_; }
|
||||
//! Return a read-only pointer to the %Exif data buffer
|
||||
//! Return a read-only pointer to the Exif data buffer
|
||||
const char* exifData() const { return pExifData_; }
|
||||
//@}
|
||||
|
||||
@ -444,7 +444,7 @@ namespace Exiv2 {
|
||||
|
||||
}; // class TiffHeader
|
||||
|
||||
//! Helper class to access Exiv2 files
|
||||
//! Helper class to access %Exiv2 files
|
||||
class ExvFile {
|
||||
public:
|
||||
//! @name Creators
|
||||
@ -462,21 +462,21 @@ namespace Exiv2 {
|
||||
//! Assignment operator
|
||||
ExvFile& operator=(const ExvFile& rhs);
|
||||
/*!
|
||||
@brief Read the %Exif data from the file path into the internal
|
||||
@brief Read the Exif data from the file path into the internal
|
||||
data buffer.
|
||||
@param path Path to the file.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
int readExifData(const std::string& path);
|
||||
/*!
|
||||
@brief Read the %Exif data from the stream is into the internal
|
||||
@brief Read the Exif data from the stream is into the internal
|
||||
data buffer.
|
||||
@param is Input stream to read from.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
int readExifData(std::istream& is);
|
||||
/*!
|
||||
@brief Read the %Exif data from the buffer buf which has size bytes.
|
||||
@brief Read the Exif data from the buffer buf which has size bytes.
|
||||
@param buf Pointer to the data buffer.
|
||||
@param size Number of characters in the data buffer.
|
||||
*/
|
||||
@ -486,15 +486,15 @@ namespace Exiv2 {
|
||||
//! @name Accessors
|
||||
//@{
|
||||
/*!
|
||||
@brief Write the %Exif data to file path.
|
||||
@brief Write the Exif data to file path.
|
||||
@param path Path to the file.
|
||||
@return 0 if successful.
|
||||
*/
|
||||
int writeExifData(const std::string& path) const;
|
||||
//! Return the size of the %Exif data in bytes.
|
||||
//! Return the size of the Exif data in bytes.
|
||||
long sizeExifData() const { return sizeExifData_; }
|
||||
/*!
|
||||
@brief Return a read-only pointer to an %Exif data buffer. Do not
|
||||
@brief Return a read-only pointer to an Exif data buffer. Do not
|
||||
attempt to write to this buffer.
|
||||
*/
|
||||
const char* exifData() const { return pExifData_; }
|
||||
|
||||
@ -20,9 +20,9 @@
|
||||
*/
|
||||
/*!
|
||||
@file makernote.hpp
|
||||
@brief Contains the %Exif %MakerNote interface, IFD %MakerNote and a
|
||||
@brief Contains the Exif %MakerNote interface, IFD %MakerNote and a
|
||||
MakerNote factory
|
||||
@version $Name: $ $Revision: 1.16 $
|
||||
@version $Name: $ $Revision: 1.17 $
|
||||
@author Andreas Huggel (ahu)
|
||||
<a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a>
|
||||
@date 18-Feb-04, ahu: created
|
||||
@ -59,12 +59,12 @@ namespace Exiv2 {
|
||||
// class definitions
|
||||
|
||||
/*!
|
||||
@brief %Exif makernote interface
|
||||
@brief Exif makernote interface
|
||||
|
||||
%MakerNote is a low-level container for makernote entries. The ExifData
|
||||
container uses makernote entries just like the other %Exif metadata. Thus,
|
||||
clients can access %Exif and makernote tags and their values uniformly
|
||||
through the %ExifData interface. The role of %MakerNote is very similar to
|
||||
container uses makernote entries just like the other Exif metadata. Thus,
|
||||
clients can access Exif and makernote tags and their values uniformly
|
||||
through the ExifData interface. The role of %MakerNote is very similar to
|
||||
that of class Ifd (but makernotes do not need to be in IFD format, see
|
||||
below). In addition, it provides %MakerNote specific tag descriptions and
|
||||
print functions to interpret the makernote values.
|
||||
@ -233,7 +233,7 @@ namespace Exiv2 {
|
||||
const bool alloc_;
|
||||
/*!
|
||||
@brief Alternative byte order to use, invalid if the byte order of the
|
||||
%Exif block can be used
|
||||
Exif block can be used
|
||||
*/
|
||||
ByteOrder byteOrder_;
|
||||
//! Offset of the makernote from the start of the TIFF header
|
||||
@ -328,9 +328,9 @@ namespace Exiv2 {
|
||||
the model also already exists, then the new create function replaces
|
||||
the old one.
|
||||
|
||||
@param make Camera manufacturer. (Typically the string from the %Exif
|
||||
@param make Camera manufacturer. (Typically the string from the Exif
|
||||
make tag.)
|
||||
@param model Camera model. (Typically the string from the %Exif
|
||||
@param model Camera model. (Typically the string from the Exif
|
||||
model tag.)
|
||||
@param createMakerNote Pointer to a function to create a new
|
||||
%MakerNote of a particular type.
|
||||
@ -362,9 +362,9 @@ namespace Exiv2 {
|
||||
the returned makernote when it is no longer needed. The best match is
|
||||
the match with the most matching characters.
|
||||
|
||||
@param make Camera manufacturer. (Typically the string from the %Exif
|
||||
@param make Camera manufacturer. (Typically the string from the Exif
|
||||
make tag.)
|
||||
@param model Camera model. (Typically the string from the %Exif
|
||||
@param model Camera model. (Typically the string from the Exif
|
||||
model tag.)
|
||||
@param alloc Memory management model for the new MakerNote. Determines
|
||||
if memory required to store data should be allocated and
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
*/
|
||||
/*!
|
||||
@file tags.hpp
|
||||
@brief %Exif tag and type information
|
||||
@version $Name: $ $Revision: 1.21 $
|
||||
@brief Exif tag and type information
|
||||
@version $Name: $ $Revision: 1.22 $
|
||||
@author Andreas Huggel (ahu)
|
||||
<a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a>
|
||||
@date 15-Jan-04, ahu: created
|
||||
@ -103,7 +103,7 @@ namespace Exiv2 {
|
||||
PrintFct printFct_; //!< Pointer to tag print function
|
||||
}; // struct TagInfo
|
||||
|
||||
//! Container for %Exif tag information. Implemented as a static class.
|
||||
//! Container for Exif tag information. Implemented as a static class.
|
||||
class ExifTags {
|
||||
//! Prevent construction: not implemented.
|
||||
ExifTags() {}
|
||||
@ -177,7 +177,7 @@ namespace Exiv2 {
|
||||
item item, section name and tag name parts.
|
||||
*/
|
||||
static std::pair<uint16, IfdId> decomposeKey(const std::string& key);
|
||||
//! Interpret and print the value of an %Exif tag
|
||||
//! Interpret and print the value of an Exif tag
|
||||
static std::ostream& printTag(std::ostream& os,
|
||||
uint16 tag,
|
||||
IfdId ifdId,
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
*/
|
||||
/*!
|
||||
@file types.hpp
|
||||
@brief Type definitions for Exiv2 and related functionality
|
||||
@version $Name: $ $Revision: 1.10 $
|
||||
@brief Type definitions for %Exiv2 and related functionality
|
||||
@version $Name: $ $Revision: 1.11 $
|
||||
@author Andreas Huggel (ahu)
|
||||
<a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a>
|
||||
@date 09-Jan-04, ahu: created
|
||||
|
||||
Loading…
Reference in New Issue
Block a user