string imgPath = @"c:/printscreen.jpg";
string base64_hash = string.Empty;
using(Bitmap newImg = new System.Drawing.Bitmap(imgPath)){ // считали картинку по пути в оперативку
List<byte> bytes = new List<byte>();
for (int i = 0; i < newImg.Width; i++) {
for (int j = 0; j < newImg.Height; j++) {
System.Drawing.Color pixel = newImg.GetPixel(i, j); // получили цвет пикселя
bytes.Add((byte)((pixel.R + pixel.G + pixel.B) / 3)); // нашли среднее значение
}
}
var avarage = bytes.Average(b => b);
System.Collections.BitArray bits = new System.Collections.BitArray(bytes.Select(b => b > avarage).ToArray());
byte[] result = new byte[(int)Math.Round((double)bits.Count / 8)];
bits.CopyTo(result, 0);
base64_hash = Convert.ToBase64String(result); // массив переводим в base64 строку - переменные в Зенно - строковые
// return result; // возврат массива байт
}
return base64_hash;