Exiv2::JpegImage Class Reference

Class to access JPEG images. More...

#include <jpgimage.hpp>

Inheritance diagram for Exiv2::JpegImage:

Inheritance graph
[legend]
Collaboration diagram for Exiv2::JpegImage:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Creators
 JpegImage (BasicIo::AutoPtr io, bool create)
 Constructor that can either open an existing Jpeg image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure.
Accessors
std::string mimeType () const
 Return the MIME type of the image.

Protected Member Functions

Accessors
bool isThisType (BasicIo &iIo, bool advance) const
 Determine if the content of the BasicIo instance is of the type supported by this class.
Manipulators
int writeHeader (BasicIo &oIo) const
 Writes a Jpeg header (aka signature) to the BasicIo instance.

Friends

EXIV2API bool isJpegType (BasicIo &iIo, bool advance)
 Check if the file iIo is a JPEG image.

Detailed Description

Class to access JPEG images.


Constructor & Destructor Documentation

Exiv2::JpegImage::JpegImage BasicIo::AutoPtr  io,
bool  create
 

Constructor that can either open an existing Jpeg image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure.

Parameters:
io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference.
create Specifies if an existing image should be read (false) or if a new file should be created (true).


Member Function Documentation

bool Exiv2::JpegImage::isThisType BasicIo iIo,
bool  advance
const [protected, virtual]
 

Determine if the content of the BasicIo instance is of the type supported by this class.

The advance flag determines if the read position in the stream is moved (see below). This applies only if the type matches and the function returns true. If the type does not match, the stream position is not changed. However, if reading from the stream fails, the stream position is undefined. Consult the stream state to obtain more information in this case.

Parameters:
iIo BasicIo instance to read from.
advance Flag indicating whether the position of the io should be advanced by the number of characters read to analyse the data (true) or left at its original position (false). This applies only if the type matches.
Returns:
true if the data matches the type of this class;
false if the data does not match

Implements Exiv2::JpegBase.

std::string Exiv2::JpegImage::mimeType  )  const [virtual]
 

Return the MIME type of the image.

Note:
For each supported image format, the library knows only one MIME type. This may not be the most specific MIME type for that format. In particular, several RAW formats are variants of the TIFF format with the same magic as TIFF itself. Class TiffImage handles most of them and thus they all have MIME type "image/tiff", although a more specific MIME type may exist (e.g., "image/x-nikon-nef").

Implements Exiv2::Image.

int Exiv2::JpegImage::writeHeader BasicIo oIo  )  const [protected, virtual]
 

Writes a Jpeg header (aka signature) to the BasicIo instance.

Parameters:
oIo BasicIo instance that the header is written to.
Returns:
0 if successful;
2 if the input image is invalid or can not be read;
4 if the temporary image can not be written to;
-3 other temporary errors

Implements Exiv2::JpegBase.


The documentation for this class was generated from the following file:
Generated on Thu Dec 31 03:58:03 2009 for Exiv2 by  doxygen 1.3.9.1