 |
Exiv2
|
20 #ifndef PNGCHUNK_INT_HPP_
21 #define PNGCHUNK_INT_HPP_
26 #include "pngimage.hpp"
134 static void parseChunkContent(
Image* pImage,
149 static std::string makeAsciiTxtChunk(
const std::string& keyword,
150 const std::string& text,
161 static std::string makeUtf8TxtChunk(
const std::string& keyword,
162 const std::string& text,
168 static void zlibUncompress(
const byte* compressedText,
169 unsigned int compressedTextSize,
175 static std::string zlibCompress(
const std::string& text);
186 static std::string writeRawProfile(
const std::string& profileData,
187 const char* profileType);
195 #endif // #ifndef PNGCHUNK_INT_HPP_
Encoding and decoding of Exif data.
TxtChunkType
Text Chunk types.
Definition: pngchunk_int.hpp:55
static int decode(IptcData &iptcData, const byte *pData, uint32_t size)
Decode binary IPTC data in IPTC IIM4 format from a buffer pData of length size to the provided metada...
Definition: iptc.cpp:433
static int locateIptcIrb(const byte *pPsData, long sizePsData, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData)
Forwards to locateIrb() with psTag = iptc_.
Definition: jpgimage.cpp:229
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.
Stateless parser class for data in PNG chunk format. Images use this class to decode and encode PNG-b...
Definition: pngchunk_int.hpp:50
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:248
Class to access PNG images. Exif and IPTC metadata are supported directly.
Definition: pngimage.hpp:47
MetadataId
An identifier for each type of metadata.
Definition: types.hpp:108
EXIV2API void append(Exiv2::Blob &blob, const byte *buf, uint32_t len)
Append len bytes pointed to by buf to blob.
Definition: image.cpp:1013
MetadataId
Metadata identifiers.
Definition: exiv2app.hpp:75
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:193
EXIV2API int32_t getLong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte signed long value from the data buffer.
Definition: types.cpp:323
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
EXIV2API long ul2Data(byte *buf, uint32_t l, ByteOrder byteOrder)
Convert an unsigned long to data, write the data to the buffer, return number of bytes written.
Definition: types.cpp:403
#define EXV_WARNING
Shorthand for a temp warning log message object and return its ostringstream.
Definition: error.hpp:148
ByteOrder
Type to express the byte order (little or big endian)
Definition: types.hpp:102
static std::string makeMetadataChunk(const std::string &metadata, MetadataId type)
Return a complete PNG chunk data compressed or not as buffer. Data returned is formated accordingly w...
static DataBuf keyTXTChunk(const DataBuf &data, bool stripHeader=false)
Return PNG TXT chunk key as data buffer.
T add(T summand_1, T summand_2)
Safe addition, throws an exception on overflow.
Definition: safe_op.hpp:288
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:324
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,...
Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...
Definition: image.hpp:78
static int decode(XmpData &xmpData, const std::string &xmpPacket)
Decode XMP metadata from an XMP packet xmpPacket into xmpData. The format of the XMP packet must foll...
Definition: xmp.cpp:887
Error class for exceptions, log message class.
std::vector< byte > Blob
Container for binary data.
Definition: types.hpp:151
Encoding and decoding of IPTC data.