Top level object used for parsing JPEG data.
Object Description
SegmentAPP1 A class representing an APP1 segment. These are generally EXIF or XMP.
SegmentAPP2 A class representing an APP2 segment. These are generally chunks of ICC color profile data. Color profiles need to be broken into chunks because they are typically larger than the 64KB maximum segment size.
SegmentPadding A class representing a segment of padding - raw data with no markers.
SegmentSOF A class representing a SOF (start of frame) JPEG segment.
SegmentSOS A class representing a SOS (start of scan) JPEG segment.

Enum Description
Marker A marker byte indicating the type of a JPEG segment.
Method Description
ParseJpeg Create a parsed JPEG from a stream. The stream must be both readable and seekable. If not then an exception will be thrown.
Save Save the parsed JPEG to stream.
Property Description
Components The number of color components in the image.
Height The height of the image in pixels.
IsComplete Whether the image data has been correctly terminated. If no marker is present it is likely the file has been truncated. Even in the case of truncated data there may be sufficient for a sensible display but it is difficult to know how good this will be.
IsExif True if this has a EXIF header.
IsExtended True if this has extra data beyond the end of the image stream.
IsGood This indicates if the image is generally well formed. We are looking for sensible headers and data followed by an end of image segment. Many applications are very good at making sense of even the most corrupt of documents so it is entirely possible to get an image which is not 'good' but which will display. Similarly one can corrupt data within a document so that it does not look right even though it contains all the right ingredients. However this is good general indication of conformance,
IsHeaderGood Whether the JPEG has a sensible header. The majority of JPEG streams have a JFIF or EXIF header. Some older documents have a Photoshop header. As long as at least one these is present the header is regarded as good.
IsJfif True if this has a JFIF header.
IsPhotoshop True if this has a Photoshop header.
IsProgressive True if this is a progressive JPEG.
Segments Gets the list of segments in the JPEG.
Warnings Any warnings that have been logged during the parsing of the JPEG.
Width The width of the image in pixels.
Xmp Gets or sets the XMP data in this JPEG stream. If no XMP data is present then this value will be null. Setting this value to null will remove any XMP in the stream.