Classes and functions for easy handling of raw images (interface images) Represents a graphical image.

This descendant of TFPCustomImage 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 a .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 a .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;
    }
 
SetSize - define the height and width of the image CheckDescription - looks at the supplied Image Description record and returns True if it matches the actual properties of the image Generates an exception if an error is encountered in the image description LoadFromDevice - loads the image from the device with specified handle LoadFromBitmap - loads the image from a Bitmap GetXYDataPostion - finds the position of the raw image Yes, it really is spelt 'Postion' GetXYMaskPostion - finds the position of the raw image mask PixelData - the raw data for the current pixel MaskData - the raw mask data for the current pixel DataDescription - the raw description record for the current image TColors - the colours available for the present position TLazIntfImageMask - applying a mask at the Raw Image level Image - the image to which masking is applied TLazAVLPalette - this descendant of TFPPalette uses an AVL tree for speed up TLazReaderXPM - this is a FPImage reader for xpm images TLazWriterXPM - this is a FPImage writer for xpm images TLazReaderBMP - This is an improved FPImage reader for bmp images CreateBitmaps - generates a Bitmap from the image data AlphaFromMask - gets the alpha value from the mask if AKeepAlpha is True (default condition) Masked - whether the image mask applies at the current position ILazImageReader - extension to TFPCustomImageReader to initialize a TRawImgeDescription based on the image to be read TLazReaderIconDIB - this is a FPImage reader for a single DIB from an icon file Returns an pointer to the scanline raw data.