This class models the header of a CRW (Canon Raw data) image. It is the head of a CIFF parse tree, consisting of CiffDirectory and CiffEntry objects. Most of its methods will walk the parse tree to perform the requested action.
More...
#include <crwimage_int.hpp>
|
|
| CiffHeader () |
| Default constructor.
|
|
virtual | ~CiffHeader () |
| Virtual destructor.
|
|
|
void | write (Blob &blob) const |
| Write the CRW image to the binary image blob, starting with the Ciff header. This method appends to the blob.
|
|
void | decode (Image &image) const |
| Decode the CRW image and add it to image.
|
|
void | print (std::ostream &os, const std::string &prefix="") const |
| Print debug info for the CRW image to os.
|
|
ByteOrder | byteOrder () const |
| Return the byte order (little or big endian).
|
|
CiffComponent * | findComponent (uint16_t crwTagId, uint16_t crwDir) const |
| Finds crwTagId in directory crwDir in the parse tree, returning a pointer to the component or 0 if not found.
|
|
|
void | read (const byte *pData, uint32_t size) |
| Read the CRW image from a data buffer, starting with the Ciff header.
|
|
void | add (uint16_t crwTagId, uint16_t crwDir, DataBuf buf) |
| Set the value of entry crwTagId in directory crwDir to buf. If this tag doesn't exist, it is added along with all directories needed.
|
|
void | remove (uint16_t crwTagId, uint16_t crwDir) |
| Remove entry crwTagId in directory crwDir from the parse tree. If it's the last entry in the directory, the directory is removed as well, etc.
|
|
static const char * | signature () |
| Return a pointer to the Canon CRW signature.
|
|
This class models the header of a CRW (Canon Raw data) image. It is the head of a CIFF parse tree, consisting of CiffDirectory and CiffEntry objects. Most of its methods will walk the parse tree to perform the requested action.
◆ add()
void Exiv2::Internal::CiffHeader::add |
( |
uint16_t | crwTagId, |
|
|
uint16_t | crwDir, |
|
|
DataBuf | buf ) |
◆ decode()
void Exiv2::Internal::CiffHeader::decode |
( |
Image & | image | ) |
const |
Decode the CRW image and add it to image.
Walk the parse tree and convert CIFF entries to metadata entries which are added to image.
- Parameters
-
image | Image to add metadata to |
◆ findComponent()
CiffComponent * Exiv2::Internal::CiffHeader::findComponent |
( |
uint16_t | crwTagId, |
|
|
uint16_t | crwDir ) const |
Finds crwTagId in directory crwDir in the parse tree, returning a pointer to the component or 0 if not found.
Finds crwTagId in directory crwDir, returning a pointer to the component or 0 if not found.
References Exiv2::Internal::CiffComponent::findComponent().
◆ print()
void Exiv2::Internal::CiffHeader::print |
( |
std::ostream & | os, |
|
|
const std::string & | prefix = "" ) const |
Print debug info for the CRW image to os.
- Parameters
-
os | Output stream to write to. |
prefix | Prefix to be written before each line of output. |
◆ read()
void Exiv2::Internal::CiffHeader::read |
( |
const byte * | pData, |
|
|
uint32_t | size ) |
◆ remove()
void Exiv2::Internal::CiffHeader::remove |
( |
uint16_t | crwTagId, |
|
|
uint16_t | crwDir ) |
Remove entry crwTagId in directory crwDir from the parse tree. If it's the last entry in the directory, the directory is removed as well, etc.
- Parameters
-
crwTagId | Tag id to be removed. |
crwDir | Parent directory of the tag. |
◆ write()
void Exiv2::Internal::CiffHeader::write |
( |
Blob & | blob | ) |
const |
Write the CRW image to the binary image blob, starting with the Ciff header. This method appends to the blob.
- Parameters
-
blob | Binary image to add to. |
- Exceptions
-
Error | If the image cannot be written. |
References Exiv2::append(), and Exiv2::ul2Data().
The documentation for this class was generated from the following files: