Как опредедить, что изображение черно-белое - C#
Формулировка задачи:
здравствуйте, как определить,что изображение черно-белое? к примеру у нас есть bitmap:
как узнать,что является ли image.bmp черно-белым?!
Bitmap bmp = new Bitmap("image.bmp");
Решение задачи: «Как опредедить, что изображение черно-белое»
textual
Листинг программы
static bool IsGrayImg(Bitmap bmp) { BitmapData bd = bmp.LockBits(Rectangle.FromLTRB(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, bmp.PixelFormat); int bytes = Math.Abs(bd.Stride) * bmp.Height; byte[] rgbValues = new byte[bytes]; IntPtr ptr = bd.Scan0;// адрес первого пикселя // копируем значение компонент r,g,b в массив rgbValues System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, bytes); bool retVal = true; for (int y = 0; y < rgbValues.Length; y++) if ((rgbValues[y] != rgbValues[y + 1] || rgbValues[y + 1] != rgbValues[y + 2])) { retVal = false; break; } bmp.UnlockBits(bd); return retVal; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д