ImageEn, unit imageenproc

TImageEnProc.CalcImagePalette

TImageEnProc.CalcImagePalette


Declaration

procedure CalcImagePalette(var Palette: array of TRGB; MaxCol: Integer);


Description

Fills the Palette array with the colors found in the current image.
Palette is the array to fill.
MaxCol is the size of Palette. If the image has more than MaxCol colors, the image is quantized to match the number of colors specified.

Note: If the image PixelFormat is not ie24RGB, it will be converted


Demo

Demo  Demos\ImageEditing\EveryMethod\EveryMethod.dpr


Example

 

// Output 256 colors of the image
var
  MyColorMap256: array [0..255] of TRGB;
  bmp: TIEBitmap;
begin
  ImageEnView1.Proc.CalcImagePalette( MyColorMap256, 256 );
  bmp := TIEBitmap.Create();
  IEDrawColorPalette( bmp, MyColorMap256, 30, 30, 16 );
  bmp.Write( 'D:\Palette256.png' );
  bmp.Free;
end;

 


// Show 1000 colors of the image
var
  MyColorMap1000: array [0..999] of TRGB;
  aColor: TColors;
begin
  ImageEnView1.Proc.CalcImagePalette( MyColorMap1000, 1000 );
  IEPromptForColor( aColor, MyColorMap1000, 1000 );
end;


See Also

 CreateRGB
 TRGB2TColor
 TColor2TRGB
 IEDrawColorPalette
 IEPromptForColor