Try this:
procedure ConvertTo256Grayscale;
begin
{This method converts selected region to gray levels. The image always will be in true color (16M of colors)}
ImageENView1.Proc.ConvertToGray;
{Converts current image to 256 colors}
ImageENView1.Proc.ConvertTo( 256 );
end;
{ not tested }
function IsImageGrayscale: boolean;
begin
Result := ImageENView1.IEBitmap.PixelFormat = ie8g;
// gray scale (256 levels)
end;
or
{ not tested }
function IsImageGrayscale: boolean;
begin
Result := (ImageENView1.IEBitmap.IsGrayScale) and (ImageENView1.IO.Params.BitsPerSample * ImageENView1.IO.Params.SamplesPerPixel = 8);
// Checks if all pixels have have R=G=B values (the bitmap is grayscale)... BitsPerSample * SamplesPerPixel = 8 bit 256 color
end;
William Miller