Как сравнить две картинки на разных сайтах? Интересует именно само сравнение. Вся процедура по вытаскиванию картинок и обращение к сайтам не нужно.
using System.Drawing;
Если речь про по пиксельное сравнение, Bm1 Bm2 это ваши картинки.
Bitmap filter1 = new Bitmap(Bm1);
Bitmap filter2 = new Bitmap(Bm2);
if (filter1.Width != filter2.Width || filter2.Height != filter2.Height)
return false;
for (int x = 0; x < filter1.Width; x++)
for (int y = 0; y < filter1.Height; y++)
if(filter1.GetPixel(x, y) != filter2.GetPixel(x, y))
return false;
return true;
Вопрос слишком широкий. Но допустим, ваша задача - проверять, скачивали вы уже эту картинку или нет.
В этом случае самый правильный подход - считать контрольную сумму файла и проверять, совпало или нет.
Видели наверное сайт virus total? Там такой же подход: каждый файл имеет уникальный "слепок" и можно быстро определить, про какой файл речь: тот же или другой.
Алгоритм используйте SHA-256, а не MD5: md5 хотя и быстрее, но больше шанс столкнуться с коллизией.
public static string GetHash(byte[] data)
{
var stringBuilderb = new StringBuilder();
using (var hash = SHA256.Create())
{
var result = hash.ComputeHash(data);
foreach (var b in result)
stringBuilderb.Append(b.ToString("x2"));
}
return stringBuilderb.ToString();
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости