Работа с пикселями [требует правки]

312
12 сентября 2017, 06:52

Подскажите пожалуйста, как на C# проверить по пикселям картинку с картинками в папке?

Answer 1

Если по пикселям, грузите свою картинку в Bitmap(System.Drawing):

    Bitmap picture = new Bitmap("путь до файла + имя файла");

Грузите вторую картинку с диска таким же способом. Тут нужно уточнить как вы будете проверять картинку. Можно например сначала проверить соответствие размеров:

    if (bitmap1.Width == bitmap2.Width && bitmap1.Height == bitmap2.Height)

Ну а дальше в циклах проверяем по пиксельно:

        bool isIdentity = true; //Предпологаем, что они одинаковые
        for (int y = 0; y < bitmap1.Height; y++)
        {
            for (int x = 0; x < bitmap1.Width; x++)
            {
                if (bitmap1.GetPixel(x, y) != bitmap2.GetPixel(x, y))
                {
                    isIdentity = false;
                    break;
                }
            }
            if (!isIdentity)
                break;
        }

        if (isIdentity)
            Console.WriteLine("Картинки одинаковы");
        else
            Console.WriteLine("Картинки разные");

Ну стоит сказать что этот метод будет очень медленный. Для более быстрой проверки нужно использовать LickBits и BitmapData, например. И еще для получение файлов в папке:

        Directory.GetFiles(string path, string pattern)
READ ALSO
C# запуск NodeJs через Process

C# запуск NodeJs через Process

Мне нужно запустить nodejs, перехватив его потоки ввода и выводаЯ написал код

324
Плавная графика в C# (Windows Forms)

Плавная графика в C# (Windows Forms)

Пишу свой аналог игры osu!Catch the beatСуть игры в том, что нужно ловить падающие объекты (ну для наглядности лучше загуглить игру)

230
Ошибка 404 kendoui

Ошибка 404 kendoui

Добрый день! Приложение на локальном компе работает идеальноНо на IIS 8 ошибка вылезает типа:

304
Обрезание строки в c#

Обрезание строки в c#

ЗдравствуйтеЕсть вот такая вот строка:

288