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

TLazIntfImage

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

Represents a graphical image.

Declaration

Source position: intfgraphics.pas line 115

type TLazIntfImage = class(TFPCustomImage)

protected

  FGetInternalColorProc: TLazIntfImageGetPixelProc;

  

  FSetInternalColorProc: TLazIntfImageSetPixelProc;

  

  procedure SetUsePalette(); override;

  

  procedure SetInternalColor(); override;

  

  function GetInternalColor(); override;

  

  procedure SetInternalPixel(); override;

  

  function GetInternalPixel(); override;

  

  procedure FreeData; virtual;

  

  procedure SetDataDescription(); virtual;

  

  procedure ChooseGetSetColorFunctions; virtual;

  

  procedure ChooseRawBitsProc();

  

  procedure GetColor_Generic();

  

  procedure GetColor_RGBA_NoPalette();

  

  procedure GetColor_RGB_NoPalette();

  

  procedure GetColor_Gray_NoPalette();

  

  procedure GetColor_GrayAlpha_NoPalette();

  

  procedure GetColor_NULL();

  

  procedure GetColor_BPP32_A8R8G8B8_BIO_TTB();

  

  procedure GetColor_BPP32_A8B8G8R8_BIO_TTB();

  

  procedure GetColor_BPP32_A8G8R8B8_BIO_TTB();

  

  procedure GetColor_BPP32_A8G8B8R8_BIO_TTB();

  

  procedure GetColor_BPP32_A8R8B8G8_BIO_TTB();

  

  procedure GetColor_BPP32_A8B8R8G8_BIO_TTB();

  

  procedure GetColor_BPP32_B8G8R8A8_BIO_TTB();

  

  procedure GetColor_BPP32_R8G8B8A8_BIO_TTB();

  

  procedure GetColor_BPP32_G8B8R8A8_BIO_TTB();

  

  procedure GetColor_BPP32_G8R8B8A8_BIO_TTB();

  

  procedure GetColor_BPP32_B8R8G8A8_BIO_TTB();

  

  procedure GetColor_BPP32_R8B8G8A8_BIO_TTB();

  

  procedure GetColor_BPP32_X8R8G8B8_BIO_TTB();

  

  procedure GetColor_BPP32_X8B8G8R8_BIO_TTB();

  

  procedure GetColor_BPP32_X8G8R8B8_BIO_TTB();

  

  procedure GetColor_BPP32_X8G8B8R8_BIO_TTB();

  

  procedure GetColor_BPP32_X8R8B8G8_BIO_TTB();

  

  procedure GetColor_BPP32_X8B8R8G8_BIO_TTB();

  

  procedure GetColor_BPP32_B8G8R8X8_BIO_TTB();

  

  procedure GetColor_BPP32_R8G8B8X8_BIO_TTB();

  

  procedure GetColor_BPP32_G8B8R8X8_BIO_TTB();

  

  procedure GetColor_BPP32_G8R8B8X8_BIO_TTB();

  

  procedure GetColor_BPP32_B8R8G8X8_BIO_TTB();

  

  procedure GetColor_BPP32_R8B8G8X8_BIO_TTB();

  

  procedure GetColor_BPP24_B8G8R8_BIO_TTB();

  

  procedure GetColor_BPP24_R8G8B8_BIO_TTB();

  

  procedure GetColor_BPP24_G8B8R8_BIO_TTB();

  

  procedure GetColor_BPP24_G8R8B8_BIO_TTB();

  

  procedure GetColor_BPP24_B8R8G8_BIO_TTB();

  

  procedure GetColor_BPP24_R8B8G8_BIO_TTB();

  

  procedure GetMask_Generic();

  

  procedure SetColor_Generic();

  

  procedure SetColor_RGBA_NoPalette();

  

  procedure SetColor_RGB_NoPalette();

  

  procedure SetColor_Gray_NoPalette();

  

  procedure SetColor_GrayAlpha_NoPalette();

  

  procedure SetColor_NULL();

  

  procedure SetColor_BPP32_A8R8G8B8_BIO_TTB();

  

  procedure SetColor_BPP32_A8B8G8R8_BIO_TTB();

  

  procedure SetColor_BPP32_A8G8R8B8_BIO_TTB();

  

  procedure SetColor_BPP32_A8G8B8R8_BIO_TTB();

  

  procedure SetColor_BPP32_A8R8B8G8_BIO_TTB();

  

  procedure SetColor_BPP32_A8B8R8G8_BIO_TTB();

  

  procedure SetColor_BPP32_B8G8R8A8_BIO_TTB();

  

  procedure SetColor_BPP32_R8G8B8A8_BIO_TTB();

  

  procedure SetColor_BPP32_G8B8R8A8_BIO_TTB();

  

  procedure SetColor_BPP32_G8R8B8A8_BIO_TTB();

  

  procedure SetColor_BPP32_B8R8G8A8_BIO_TTB();

  

  procedure SetColor_BPP32_R8B8G8A8_BIO_TTB();

  

  procedure SetColor_BPP32_X8R8G8B8_BIO_TTB();

  

  procedure SetColor_BPP32_X8B8G8R8_BIO_TTB();

  

  procedure SetColor_BPP32_X8G8R8B8_BIO_TTB();

  

  procedure SetColor_BPP32_X8G8B8R8_BIO_TTB();

  

  procedure SetColor_BPP32_X8R8B8G8_BIO_TTB();

  

  procedure SetColor_BPP32_X8B8R8G8_BIO_TTB();

  

  procedure SetColor_BPP32_B8G8R8X8_BIO_TTB();

  

  procedure SetColor_BPP32_R8G8B8X8_BIO_TTB();

  

  procedure SetColor_BPP32_G8B8R8X8_BIO_TTB();

  

  procedure SetColor_BPP32_G8R8B8X8_BIO_TTB();

  

  procedure SetColor_BPP32_B8R8G8X8_BIO_TTB();

  

  procedure SetColor_BPP32_R8B8G8X8_BIO_TTB();

  

  procedure SetColor_BPP24_B8G8R8_BIO_TTB();

  

  procedure SetColor_BPP24_R8G8B8_BIO_TTB();

  

  procedure SetColor_BPP24_G8B8R8_BIO_TTB();

  

  procedure SetColor_BPP24_G8R8B8_BIO_TTB();

  

  procedure SetColor_BPP24_B8R8G8_BIO_TTB();

  

  procedure SetColor_BPP24_R8B8G8_BIO_TTB();

  

  procedure SetMask_Generic();

  

public

  constructor Create();

  

Constructor for the class instance.

  constructor CreateCompatible();

  

Alternate constructor for the class instance.

  destructor Destroy; override;

  

Destructor for the class instance.

  procedure Assign(); override;

  

Stores values from the specified persistent object into the current class instance.

  procedure BeginUpdate;

  

Increments the internal update counter.

  procedure EndUpdate;

  

Decrements the internal update counter.

  procedure SetSize(); override;

  

SetSize - define the height and width of the image.

  function CheckDescription(); virtual;

  

CheckDescription - looks at the supplied Image Description record and returns True if it matches the actual properties of the image.

  procedure LoadFromDevice(); virtual;

  

LoadFromDevice - loads the image from the device with specified handle.

  procedure LoadFromBitmap(); virtual;

  

LoadFromBitmap - loads the image from a Bitmap.

  procedure CreateBitmaps(); virtual;

  

CreateBitmaps - generates a Bitmap and an optional Mask for the image data.

  procedure SetRawImage(); virtual;

  

Stores the raw image data in the class instance.

  procedure GetRawImage(); virtual;

  

Gets the raw image data stored in the class instance and optionally release ownership.

  procedure FillPixels(); virtual;

  

Sets the color for all pixels in the raw image data to the specified value.

  procedure CopyPixels(); virtual;

  

  procedure AlphaBlend();

  

Merges a source image with alpha blending.

  procedure AlphaFromMask();

  

Gets the alpha value from the mask if needed.

  procedure Mask();

  

  procedure GetXYDataPosition();

  procedure GetXYMaskPosition();

  function GetDataLineStart();

  

Returns an pointer to the raw data for a scan line.

  procedure CreateData; virtual;

  

  function HasTransparency; virtual;

  

  function HasMask; virtual;

  

  procedure SetDataDescriptionKeepData();

  

  property PixelData: PByte; [r]

  

PixelData - the raw image data for the image.

  property MaskData: PByte; [r]

  

MaskData - the raw data for the mask in the image.

  property DataDescription: TRawImageDescription; [rw]

  

DataDescription - the raw description record for the current image.

  property GetInternalColorProc: TLazIntfImageGetPixelProc; [r]

  

  property SetInternalColorProc: TLazIntfImageSetPixelProc; [r]

  

  property TColors []: TGraphicsColor; [rw]

  

TColors - the colors available for the specified pixel.

  property Masked []: Boolean; [rw]

  

Masked - whether the image mask applies at the specified position.

end;

Inheritance

TLazIntfImage

  

Represents a graphical image.

|

TFPCustomImage

?

TObject

Description

TLazIntfImage is a TFPCustomImage descendant which stores the image data as TRawImage, and is therefore able to interchange images directly with the LCL interfaces.

A large number of the protected methods (GetColorxxxxxx and SetColorxxxxxx) deal with direct interface to the operating system at the pixel level.

Usage examples:

1. Loading an .xpm file into a TBitmap:

var
        BmpHnd,MaskHnd: HBitmap;
        Bitmap1: TBitmap;
        IntfImg1: TLazIntfImage;
        Reader: TLazReaderXPM;
      begin
        // create a bitmap (or use an existing one)
        Bitmap1:=TBitmap.Create;
        // create the raw image
        IntfImg1:=TLazIntfImage.Create(0,0);
        // get the description for the current screen (bitsperpixel, depth, ...)
        IntfImg1.GetDescriptionFromDevice(0);
        // create the XPM reader
        Reader:=TLazReaderXPM.Create;
        // load the image
        IntfImg1.LoadFromFile('filename.xpm',Reader);
        // create the bitmap handles
        IntfImg1.CreateBitmap(BmpHnd,MaskHnd);
        // apply handles to the Bitmap1
        Bitmap1.Handle:=BmpHnd;
        Bitmap1.MaskHandle:=MaskHnd;
        // clean up
        Reader.Free;
        IntfImg1.Free;
        // do something with the Bitmap1
        ...
      end;

2. Saving a TBitmap to an .xpm file:

var
        BmpHnd,MaskHnd: HBitmap;
        Bitmap1: TBitmap;
        IntfImg1: TLazIntfImage;
        Writer: TLazWriterXPM;
      begin
        ...
        // create the raw image
        IntfImg1:=TLazIntfImage.Create(0,0);
        // load the raw image from the bitmap handles
        IntfImg1.LoadFromBitmap(Bitmap1.Handle,Bitmap1.MaskHandle);
        // create the XPM writer
        Writer:=TLazWriterXPM.Create;
        // save image to file
        IntfImg1.SaveToFile('filename.xpm',Writer);
        // clean up
        Writer.Free;
        IntfImg1.Free;
        ...
      end;
    }

Version 3.2 Generated 2024-02-25 Home