Exiv2::JpegImage Class Reference

Class to access JPEG images. More...

#include <jpgimage.hpp>

Inheritance diagram for Exiv2::JpegImage:

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. More...
 
- Public Member Functions inherited from Exiv2::JpegBase
void readMetadata ()
 Read all metadata supported by a specific image format from the image. Before this method is called, the image metadata will be cleared. More...
 
void writeMetadata ()
 Write metadata back to the image. More...
 
void printStructure (std::ostream &out, PrintStructureOption option)
 Print out the structure of image file. More...
 

Protected Member Functions

Manipulators
int writeHeader (BasicIo &oIo) const
 Writes a Jpeg header (aka signature) to the BasicIo instance. More...
 
- Protected Member Functions inherited from Exiv2::JpegBase
 JpegBase (int type, BasicIo::AutoPtr io, bool create, const byte initData[], long dataSize)
 Constructor that can either open an existing image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. More...
 

Friends

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

Accessors

std::string mimeType () const
 Return the MIME type of the image. More...
 
bool isThisType (BasicIo &iIo, bool advance) const
 Determine if the content of the BasicIo instance is of the type supported by this class. More...
 

Additional Inherited Members

- Public Types inherited from Exiv2::Image
typedef std::auto_ptr< ImageAutoPtr
 Image auto_ptr type.
 
- Protected Attributes inherited from Exiv2::Image
BasicIo::AutoPtr io_
 Image data IO pointer.
 
ExifData exifData_
 Exif data container.
 
IptcData iptcData_
 IPTC data container.
 
XmpData xmpData_
 XMP data container.
 
std::string comment_
 User comment.
 
std::string xmpPacket_
 XMP packet.
 
int pixelWidth_
 image pixel width
 
int pixelHeight_
 image pixel height
 
NativePreviewList nativePreviews_
 list of native previews
 
- Static Protected Attributes inherited from Exiv2::JpegBase
static const byte dht_
 JPEG DHT marker.
 
static const byte dqt_
 JPEG DQT marker.
 
static const byte dri_
 JPEG DRI marker.
 
static const byte sos_
 JPEG SOS marker.
 
static const byte eoi_
 JPEG EOI marker.
 
static const byte app0_
 JPEG APP0 marker.
 
static const byte app1_
 JPEG APP1 marker.
 
static const byte app13_
 JPEG APP13 marker.
 
static const byte com_
 JPEG Comment marker.
 
static const byte sof0_
 JPEG Start-Of-Frame marker.
 
static const byte sof1_
 JPEG Start-Of-Frame marker.
 
static const byte sof2_
 JPEG Start-Of-Frame marker.
 
static const byte sof3_
 JPEG Start-Of-Frame marker.
 
static const byte sof5_
 JPEG Start-Of-Frame marker.
 
static const byte sof6_
 JPEG Start-Of-Frame marker.
 
static const byte sof7_
 JPEG Start-Of-Frame marker.
 
static const byte sof9_
 JPEG Start-Of-Frame marker.
 
static const byte sof10_
 JPEG Start-Of-Frame marker.
 
static const byte sof11_
 JPEG Start-Of-Frame marker.
 
static const byte sof13_
 JPEG Start-Of-Frame marker.
 
static const byte sof14_
 JPEG Start-Of-Frame marker.
 
static const byte sof15_
 JPEG Start-Of-Frame marker.
 
static const char exifId_ []
 Exif identifier.
 
static const char jfifId_ []
 JFIF identifier.
 
static const char xmpId_ []
 XMP packet identifier.
 

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
ioAn 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.
createSpecifies 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
protectedvirtual

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
iIoBasicIo instance to read from.
advanceFlag 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
protectedvirtual

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

Parameters
oIoBasicIo 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: