 |
Exiv2
|
Go to the documentation of this file.
31 #include "exiv2lib_export.h"
35 #include "basicio.hpp"
92 void setExifData(
const ExifData& exifData);
97 void setIptcData(
const IptcData& iptcData);
108 int pixelWidth()
const;
109 int pixelHeight()
const;
140 #endif // #ifndef RAFIMAGE_HPP_
void setComment(const std::string &comment)
Not supported. RAF format does not contain a comment. Calling this function will throw an Error(kerIn...
Definition: rafimage.cpp:90
virtual int error() const =0
Returns 0 if the IO source is in a valid state, otherwise nonzero.
byte * pData_
Pointer to the buffer, 0 if none has been allocated.
Definition: types.hpp:269
IptcData iptcData_
IPTC data container.
Definition: image.hpp:489
std::string indent(int32_t d)
indent output for kpsRecursive in printStructure() .
Definition: image_int.cpp:106
Utility class that closes a BasicIo instance upon destruction. Meant to be used as a stack variable i...
Definition: basicio.hpp:264
iterator findKey(const ExifKey &key)
Find the first Exifdatum with the given key, return an iterator to it.
Definition: exif.cpp:581
Type definitions for Exiv2 and related functionality.
ExifMetadata::const_iterator const_iterator
ExifMetadata const iterator type.
Definition: exif.hpp:439
Slice< T > makeSlice(T &cont, size_t begin, size_t end)
Return a new slice with the given bounds.
Definition: slice.hpp:673
@ comment
Exiv2 type for the Exif user comment.
Definition: types.hpp:150
std::string mimeType() const
Return the MIME type of the image.
Definition: rafimage.cpp:55
EXIV2API std::string strError()
Return a system error message and the error code (errno). See strerror(3).
Definition: futils.cpp:352
const int raf
RAF image type (see class RafImage)
Definition: rafimage.hpp:50
ExifData exifData_
Exif data container.
Definition: image.hpp:488
static ByteOrder decode(ExifData &exifData, IptcData &iptcData, XmpData &xmpData, const byte *pData, uint32_t size)
Decode metadata from a buffer pData of length size with data in TIFF format to the provided metadata ...
Definition: tiffimage.cpp:251
iterator end()
End of the metadata.
Definition: exif.hpp:492
void setIptcData(const IptcData &iptcData)
Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(kerInval...
Definition: rafimage.cpp:84
binaryToStringHelper< T > binaryToString(const Slice< T > sl)
format binary data for display in Image::printStructure()
Definition: image_int.hpp:125
virtual void clearMetadata()
Erase all buffered metadata. Metadata is not removed from the actual image until the writeMetadata() ...
Definition: image.cpp:541
Port of D's enforce() to C++ & Exiv2.
std::string stringFormat(const char *format,...)
format a string in the pattern of sprintf .
Definition: image_int.cpp:32
void setByteOrder(ByteOrder byteOrder)
Set the byte order to encode the Exif metadata in.
Definition: image.cpp:678
EXIV2API Image::AutoPtr newRafInstance(BasicIo::AutoPtr io, bool create)
Create a new RafImage instance and return an auto-pointer to it. Caller owns the returned object and ...
Definition: rafimage.cpp:343
void enforce(bool condition, const T &arg1)
Ensure that condition is true, otherwise throw an exception of the type exception_t.
Definition: enforce.hpp:43
void printStructure(std::ostream &out, PrintStructureOption option, int depth)
Print out the structure of image file.
Definition: rafimage.cpp:96
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:204
EXIV2API bool isRafType(BasicIo &iIo, bool advance)
Check if the file iIo is a RAF image.
Definition: rafimage.cpp:352
Concrete keys for Exif metadata and access to Exif tag reference data.
Definition: tags.hpp:148
long size_
The current size of the buffer.
Definition: types.hpp:271
virtual bool eof() const =0
Returns true if the IO position has reached the end, otherwise false.
virtual DataBuf read(long rcount)=0
Read data from the IO source. Reading starts at the current IO position and the position is advanced ...
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
Class to access raw Fujifilm RAF images. Exif metadata is supported directly, IPTC is read from the E...
Definition: rafimage.hpp:57
virtual BasicIo & io() const
Return a reference to the BasicIo instance being used for Io.
Definition: image.cpp:723
virtual std::string path() const =0
Return the path to the IO resource. Often used to form comprehensive error messages where only a Basi...
Overflow checks for integers.
int pixelHeight() const
Return the pixel height of the image.
Definition: rafimage.cpp:69
BasicIo::AutoPtr io_
Image data IO pointer.
Definition: image.hpp:487
ByteOrder
Type to express the byte order (little or big endian)
Definition: types.hpp:113
std::auto_ptr< Image > AutoPtr
Image auto_ptr type.
Definition: image.hpp:84
T add(T summand_1, T summand_2)
Safe addition, throws an exception on overflow.
Definition: safe_op.hpp:295
std::auto_ptr< BasicIo > AutoPtr
BasicIo auto_ptr type.
Definition: basicio.hpp:58
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:323
void writeMetadata()
Todo: Write metadata back to the image. This method is not yet implemented. Calling it will throw an ...
Definition: rafimage.cpp:335
A container for IPTC data. This is a top-level class of the Exiv2 library.
Definition: iptc.hpp:173
int pixelWidth() const
Return the pixel width of the image.
Definition: rafimage.cpp:60
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: rafimage.cpp:279
@ string
IPTC string type.
Definition: types.hpp:147
void setExifData(const ExifData &exifData)
Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(kerInval...
Definition: rafimage.cpp:78
RafImage(BasicIo::AutoPtr io, bool create)
Constructor that can either open an existing RAF image or create a new image from scratch....
Definition: rafimage.cpp:50
PrintStructureOption
Options for printStructure.
Definition: image.hpp:67
virtual int seek(long offset, Position pos)=0
Move the current IO position.
An interface for simple binary IO.
Definition: basicio.hpp:55
XmpData xmpData_
XMP data container.
Definition: image.hpp:490
Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...
Definition: image.hpp:81
Basic file utility functions required by Exiv2.
EXIV2API uint32_t getULong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte unsigned long value from the data buffer.
Definition: types.cpp:283
Error class for exceptions, log message class.
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition: exif.hpp:434