Exiv2::Internal::PngChunk Class Reference

Stateless parser class for data in PNG chunk format. Images use this class to decode and encode PNG-based data. More...

#include <pngchunk_int.hpp>

List of all members.

Public Types

enum  TxtChunkType { tEXt_Chunk = 0, zTXt_Chunk = 1, iTXt_Chunk = 2 }
 Text Chunk types.
enum  MetadataType { exif_Data = 0, iptc_Data = 1, xmp_Data = 2, comment_Data = 3 }
 Metadata Chunk types.

Static Public Member Functions

static void decodeIHDRChunk (const DataBuf &data, int *outWidth, int *outHeight)
 Decode PNG IHDR chunk data from a data buffer data and return image size to outWidth and outHeight.
static void decodeTXTChunk (Image *pImage, const DataBuf &data, TxtChunkType type)
 Decode PNG tEXt, zTXt, or iTXt chunk data from pImage passed by data buffer data and extract Comment, Exif, Iptc, Xmp metadata accordingly.
static DataBuf keyTXTChunk (const DataBuf &data, bool stripHeader=false)
 Return PNG TXT chunk key as data buffer.
static DataBuf makeMetadataChunk (const DataBuf &metadata, MetadataType type, bool compress)
 Return a complete PNG chunk data compressed or not as buffer. Data returned is formated accordingly with metadata type to host passed by metadata.


Detailed Description

Stateless parser class for data in PNG chunk format. Images use this class to decode and encode PNG-based data.

Member Function Documentation

void Exiv2::Internal::PngChunk::decodeIHDRChunk ( const DataBuf data,
int *  outWidth,
int *  outHeight 
) [static]

Decode PNG IHDR chunk data from a data buffer data and return image size to outWidth and outHeight.

Parameters:
data PNG Chunk data buffer.
outWidth Integer pointer to be set to the width of the image.
outHeight Integer pointer to be set to the height of the image.

References Exiv2::getLong(), and Exiv2::DataBuf::pData_.

Referenced by Exiv2::PngImage::readMetadata().

void Exiv2::Internal::PngChunk::decodeTXTChunk ( Image pImage,
const DataBuf data,
TxtChunkType  type 
) [static]

Decode PNG tEXt, zTXt, or iTXt chunk data from pImage passed by data buffer data and extract Comment, Exif, Iptc, Xmp metadata accordingly.

Parameters:
pImage Pointer to the image to hold the metadata
data PNG Chunk data buffer.
type PNG Chunk TXT type.

References keyTXTChunk(), Exiv2::DataBuf::pData_, Exiv2::DataBuf::size_, and Exiv2::string.

Referenced by Exiv2::PngImage::readMetadata().

DataBuf Exiv2::Internal::PngChunk::keyTXTChunk ( const DataBuf data,
bool  stripHeader = false 
) [static]

Return PNG TXT chunk key as data buffer.

Parameters:
data PNG Chunk data buffer.
stripHeader Set true if chunk data start with header bytes, else false (default).

References Exiv2::DataBuf::pData_, and Exiv2::DataBuf::size_.

Referenced by decodeTXTChunk().

DataBuf Exiv2::Internal::PngChunk::makeMetadataChunk ( const DataBuf metadata,
MetadataType  type,
bool  compress 
) [static]

Return a complete PNG chunk data compressed or not as buffer. Data returned is formated accordingly with metadata type to host passed by metadata.

Parameters:
metadata metadata buffer.
type metadata type.
compress compress or not metadata.

References Exiv2::DataBuf::pData_, and Exiv2::DataBuf::size_.


The documentation for this class was generated from the following files:

Generated on Mon Mar 23 04:47:27 2009 for Exiv2 by  doxygen 1.5.6