| ImageEn, unit iexCanvasUtils |
|
IEDrawColorPalette
Declaration
procedure IEDrawColorPalette(Dest: TIEBitmap; Colors: array of TRGB; CellWidth, CellHeight, HorzCount: Integer; Background: TColor = clWhite; CellBorder: TColor = clBlack; ColorCount: Integer = -1); overload;
procedure IEDrawColorPalette(Dest: TIEBitmap; Colors: array of TColor; CellWidth, CellHeight, HorzCount: Integer; Background: TColor = clWhite; CellBorder: TColor = clBlack; ColorCount: Integer = -1); overload;
Description
Draw an array of colors as a grid to a bitmap.
| Parameter | Description |
| Dest | The TIEBitmap to output to. It must be created, but does not need to be sized |
| Colors | The colors to output |
| CellWidth | The width of each color cell |
| CellHeight | The height of each color cell |
| HorzCount | The number of cells to draw horizontally (vertical count will be calculated automatically) |
| Background | The color of the background (if there is an odd number of cells that do not fill the entire image) |
| CellBorder | The border color of each cell. You can specify clNone for no border |
| ColorCount | The number of colors in our array (if -1, the array length is used) |
Note: To display a palette to the user, you can use:
IEPromptForColor
| Demos\ImageEditing\EveryMethod\EveryMethod.dpr |
// Export palette to an image file
bmp := TIEBitmap.Create;
IEDrawColorPalette( bmp, ColorPalette1.Palette, 30, 30, 16 );
bmp.SaveToFile( 'D:\palette.png' );
bmp.Free();

// 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.SaveToFile( 'D:\Palette256.png' );
bmp.Free();
end;

// Output a color palette
colorMap := GenerateDicomColorPalette( iectBerlin, 256 );
IEDrawColorPalette( bmp, colorMap, 17, 17, 32 );
