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

# TRasterImage

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

TRasterImage - base class for a number of graphic controls, including TCustomBitmap and TCustomIcon, which use a raster of dots to display graphic information

## Declaration

Source position: graphics.pp line 1209

`type TRasterImage = class(TGraphic)`
`protected`
`FSharedImage: TSharedRasterImage;` |  | FSharedImage - local variable for storing a shared raster image
`function CanShareImage(); virtual;` |  | CanShareImage - returns True if specified class of image can be shared
`procedure Changed(); override;` |  | Changed - method to call when properties have changed
`function CreateDefaultBitmapHandle(); virtual;` |  | CreateDefaultBitmapHandle - returns a bitmap handle matching the description ADesc
`procedure Draw(); override;` |  | Method to Draw the Graphic on the specified Canvas, in the specified Rectangle
`function GetEmpty; override;` |  | GetEmpty - returns True if the Graphic is empty
`function GetHandle;` |  | GetHandle - returns the Handle for the Image
`function GetBitmapHandle; virtual; abstract;` |  | GetBitmapHandle - returns a Birmap Handle for the Image
`function GetMasked; virtual;` |  | GetMasked - returns True if the Image is Masked
`function GetMaskHandle; virtual; abstract;` |  | GetMaskHandle - returns a bitmap handle for the Mask
`function GetMimeType; override;` |  | GetMimeType - returns the MIME type of the Graphic
`function GetPixelFormat; virtual; abstract;` |  | GetPixelFormat - returns the pixel format for the Image
`function GetRawImagePtr; virtual; abstract;` |  | GetRawImagePtr - returns a pointer to the Raw Image
`function GetRawImageDescriptionPtr; virtual; abstract;` |  | GetRawImageDescriptionPtr - returns a pointer to a raw image description
`function GetTransparent; override;` |  | GetTransparent - returns True if the graphic is transparent
`function GetSharedImageClass; virtual;` |  | GetSharedImageClass - returns the class of Shared Raster Image
`function GetHeight; override;` |  | GetHeight - returns the height of the Graphic
`function GetWidth; override;` |  | GetWidth - returns the width of the Graphic
`procedure BitmapHandleNeeded; virtual;` |  | BitmapHandleNeeded - method to signal that a bitmap handle is requires
`procedure HandleNeeded; virtual; abstract;` |  | HandleNeeded - method to signal that a handle is required
`procedure MaskHandleNeeded; virtual; abstract;` |  | MaskHandleNeeded - method to signal that a handle is required for the Mask
`procedure PaletteNeeded; virtual; abstract;` |  | PaletteNeeded - method to signal that a Palette is required
`function InternalReleaseBitmapHandle; virtual; abstract;` |  | InternalReleaseBitmapHandle - releases Bitmap Handle and returns its value
`function InternalReleaseMaskHandle; virtual; abstract;` |  | InternalReleaseMaskHandle - releases Mask Handle and returns its value
`function InternalReleasePalette; virtual; abstract;` |  | InternalReleasePalette - releases Palette Handle and returns its value
`procedure SetBitmapHandle();` |  | SetBitmapHandle - specifies a handle for Bitmap
`procedure SetMasked(); virtual;` |  | SetMasked - specifies if the image is to be masked
`procedure SetMaskHandle();` |  | SetMaskHandle - specifies a Handle for the Mask
`procedure SetTransparent(); override;` |  | SetTransparent - defines whether the graphic is to be transparent
`procedure UnshareImage(); virtual; abstract;` |  | UnshareImage - stops an image from being shared: if CopyContent is True, the Image gets copied
`function UpdateHandles(); virtual; abstract;` |  | UpdateHandles - called when handles are created from rawimage (true when handle changed)
`procedure SaveStreamNeeded;` |  | SaveStreamNeeded - method to signal that a stream for saving is required
`procedure FreeSaveStream;` |  | FreeSaveStream - method to release a stream previously used for saving
`procedure ReadData(); override;` |  | ReadData - reads data for the Graphic from a stream
`procedure ReadStream(); virtual; abstract;` |  | ReadStream - loads imagedata into rawimage, this method shouldn't call changed()
`procedure SetSize(); virtual; abstract;` |  | SetSize - specifies height and width of Image
`procedure SetHandle(); virtual;` |  | SetHandle - specifies Handle for Image
`procedure SetHeight(); override;` |  | SetHeight - defines the height for the Graphic
`procedure SetWidth(); override;` |  | SetWidth - defines the width for the Graphic
`procedure SetTransparentMode();` |  | SetTransparentMode - specifies which transparent mode to use
`procedure SetPixelFormat(); virtual; abstract;` |  | SetPixelFormat - specifies the format for Pixels in this Image
`procedure WriteData(); override;` |  | WriteData - writes Graphic data to a stream
`procedure WriteStream(); virtual; abstract;` |  | WriteStream - specifies which stream to be used for writing
`function RequestTransparentColor;` |  | RequestTransparentColor - returns a color to be used for transparent Images
`public`
`constructor Create; override;` |  | Create - constructor for TGraphic: calls inherited Create
`destructor Destroy; override;` |  | Destroy - destructor for TRasterImage: frees canvas, releases image then calls inherited Destroy
`procedure Assign(); override;` |  | Assign - copies details from Source according to data type
`procedure Clear; override;` |  | Clear the resources used by the Graphic, leaving a blank Graphic
`procedure BeginUpdate();` |  | BeginUpdate - start the update process
`procedure EndUpdate();` |  | EndUpdate - finishes the update process
`procedure FreeImage;` |  | FreeImage - method for freeing or detaching image from the Raster
`function BitmapHandleAllocated; virtual; abstract;` |  | BitmapHandleAllocated - returns True if a handle has been allocated for the Bitmap
`function MaskHandleAllocated; virtual; abstract;` |  | MaskHandleAllocated - returns True if a handle has been allocated for the Mask
`function PaletteAllocated; virtual; abstract;` |  | PaletteAllocated - returns True if a Palette has been allocated
`procedure LoadFromBitmapHandles();` |  | LoadFromBitmapHandles - loads the data from the Bitmap and Mask specified by their handles
`procedure LoadFromDevice(); virtual;` |  | LoadFromDevice - loads data from the device specified by its handle DC
`procedure LoadFromStream();` |  | LoadFromStream - loads data for the image from a specified data stream, optionally supplying its size
`procedure LoadFromMimeStream(); override;` |  | LoadFromMimeStream - loads data for the image from a specified MIME stream
`procedure LoadFromRawImage();`
`procedure LoadFromIntfImage();` |  | LoadFromIntfImage - loads image data from an Interface stream
`procedure SaveToStream(); override;` |  | SaveToStream - write graphic data to a stream, with many error checks
`procedure GetSupportedSourceMimeTypes(); override;` |  | GetSupportedSourceMimeTypes calls inherited method and allows addition of extra types not specified there
`procedure GetSize();` |  | GetSize - finds the size of the Image
`procedure Mask();` |  | The Mask to be used with the Image
`procedure SetHandles(); virtual; abstract;` |  | SetHandles - allows the user to specify handles
`function ReleaseBitmapHandle;` |  | ReleaseBitmapHandle - releases the handle used by the Bitmap
`function ReleaseMaskHandle;` |  | ReleaseMaskHandle - releases the Handle used for the Mask
`function ReleasePalette;` |  | ReleasePalette - release the Handle used for the Palettte
`function CreateIntfImage;` |  | CreateIntfImage - creates an image on the Interface
`property Canvas: TCanvas; [r]` |  | The Canvas on which this raster image is to be painted
`function HandleAllocated;` |  | HandleAllocated - if True, an Operating System handle has been allocated
`property BitmapHandle: HBITMAP; [rw]` |  | BitmapHandle - the Handle that has been allocated for the Bitmap
`property Masked: Boolean; [rw]` |  | Masked - returns True if a Mask is being applied
`property MaskHandle: HBITMAP; [rw]` |  | MaskHandle - the handle that has been allocated for the Bitmap Mask
`property PixelFormat: TPixelFormat; [rw]` |  | PixelFormat - the format of the Pixels in this Image
`property RawImage: TRawImage; [r]` |  | RawImage - allows the user to access the Raw Image: CAUTION!
`property TransparentColor: TColor; [rw]` |  | TransparentColor - the colour used in transparent mode
`property TransparentMode: TTransparentMode; [rw]` |  | In TransparentMode it is possible to see the underlying objects through the current image
`end;`

## Inheritance

`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` |  | TGraphic - Base class for dealing with Graphic images
`TPersistent`
`TObject`

The latest version of this document can be found at lazarus-ccr.sourceforge.net.