public static bool IsGrayscale(this Bitmap image)
{
bool ret = false;
// check pixel format
if (image.PixelFormat == PixelFormat.Format8bppIndexed)
{
ret = true;
// check palette
ColorPalette cp = image.Palette;
Color c;
// init palette
for (int i = 0; i < 256; i++)
{
c = cp.Entries[i];
if ((c.R != i) || (c.G != i) || (c.B != i))
{
ret = false;
break;
}
}
}
return ret;
}