[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Graphics' (#lcl)

# TJPEGImage

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TJPEGImage - a class for handling images stored in JPEG (compressed) format.

## Declaration

Source position: graphics.pp line 1793

`type TJPEGImage = class(TFPImageBitmap)`
`protected`
`procedure InitializeReader(); override;` |  | Initializes the FCL-compatible image reader for the image type.
`procedure InitializeWriter(); override;` |  | Initializes the FCL-compatible Image Writer for the image type.
`procedure FinalizeReader(); override;` |  | Finalizes the FCL Image reader.
`class function GetReaderClass; override;` |  | Gets the class reference used to create new instances of the FCL-compatible image reader.
`class function GetWriterClass; override;` |  | Gets the class reference used to create new instances of the FCL-compatible image writer.
`class function GetSharedImageClass; override;` |  | Gets the class reference used to create new shared image instances in the class.
`public`
`constructor Create; override;` |  | Constructor for the class instance.
`procedure Compress;` |  | Applies compression settings in the class instance to the image data.
`class function IsStreamFormatSupported(); override;` |  | Indicates if the stream contains a format supported for the image type.
`class function GetFileExtensions; override;` |  | Gets the file extension(s) supported for the image format.
`property CompressionQuality: TJPEGQualityRange; [rw]` |  | Determine the compression quality for the image data.
`property GrayScale: Boolean; [rw]` |  | Indicates if the image contains grayscale image data.
`property MinHeight: Integer; [rw]` |  | Minimum height allowed for the image when read using an FCL image reader.
`property MinWidth: Integer; [rw]` |  | Minimum width allowed for the image when read using an FCL image reader.
`property ProgressiveEncoding: Boolean; [rw]` |  | Indicates if progressive encoding is used for the image data.
`property Performance: TJPEGPerformance; [rw]` |  | Set for best quality or best speed.
`property Scale: TJPEGScale; [rw]` |  | A predefined scaling value applied to the image data.
`property Smoothing: Boolean; [rw]` |  | Indicates if smoothing is applied to the raw image data.
`end;`

## Inheritance

`TJPEGImage` |  | TJPEGImage - a class for handling images stored in JPEG (compressed) format.
`TFPImageBitmap` |  | Implements a Bitmap using the FPImage reader and writer from the FCL.
`TCustomBitmap` |  | TCustomBitmap - the base class for TBitmap.
`TRasterImage` |  | TRasterImage - base class for a number of graphic controls, including TCustomBitmap and TCustomIcon, which use a raster of dots to display graphic information.
`TGraphic` |  | Abstract base class used for images in supported image formats.
`TPersistent`
?
`TObject`

## Description

TJPEGImage is a TFPImageBitmap descendant which implements support for the JPEG (Joint Photographic Experts Group) image format. JPEG images are commonly used for storing digital photographs. They can represent detailed color photos using a high degree of compression, resulting in very efficient storage, though with some loss of quality.

JPEG image files normally have a file extension like: jpeg, jpg, jpe, or jfif.

The CompressionQuality and Performance properties can be used to set the balance between storage efficiency and picture quality. CompressionQuality is an Integer value between 1 and 100, with 100 representing the best quality. Performance is an enumerated variable with two states: BestQuality or BestSpeed (for compression).

## See also

TFPImageBitmap |  | Implements a Bitmap using the FPImage reader and writer from the FCL.