Как-то писал прогу, которая распознает с экрана графические примитивы (кружки, треугольники, квадраты и т.д.). Алгоритм примерно такой:
1. Получил доступ к десктопу QDesktopWidget * desk = QApplication::desktop();
и к скрину QScreen *screen = QGuiApplication::primaryScreen();
2. Грабанул кусок экрана в pixmap
boardPixmap = screen->grabWindow(desk->winId(), boardX, boardY, boardW, boardH);
3. Преобразовал pixmap в QImage boardImage = boardPixmap.toImage()
4. Картинка логически организована как поле 20х20 клеток
4. Используя QImage::pixelColor() прохожу по диагонали каждую клетку и попиксельно считываю цвета каждого пикселя и делаю своего рода хэш примитива. Сравнивая с эталонным хэшем определяю, что за примитив в клетке.
Это всё было под линуксом. Теперь хочу это реализовать в винде. Не могу определиться, заюзать qt или может в c# есть возможность реализовать задачу, чтобы работало быстрее, чем в qt? Т.е. можно ли в c# сделать быстрее попиксельное чтение картинки?
Понятно, что тут больше qt юзают, но может и c# кто знает неплохо?