Поиск нужного фрагмента рисунка на экране.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
andrsxx
Начинающий
Начинающий
 
Сообщения: 0
Зарегистрирован: 25.05.2007 (Пт) 17:06

Поиск нужного фрагмента рисунка на экране.

Сообщение andrsxx » 25.05.2007 (Пт) 18:30

Задача: нужно определить наличие определенного фрагмента рисунка на экране. Фрагмент который определяется, заданный, допустим 10*30 пикселей.

Предположительное решение:
1. Скрин монитора. (разрешение 1024*768)
2. Загон полученого скрина в 2-х мерный массив (М1) содержащий х, у, RGB пикселя.
3. Заданная часть рисунка в соседнем массиве (М2).
4. Поиск в М1 фрагмента М2.
5. Вывод координат в котором находится данный фрагмент рисунка. (хотябы верхней левой)

Вобщем нужна помощь в 4 этапе предположительного решения. Как произвести поиск фрагмента в массиве?

За, если подскажите другое решение данной проблемы :D

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 31.05.2007 (Чт) 19:53

В 4 пункте просто перебирать пикселы, не спеша так,
если Х1 равен искомому Х1 то проверяем равен ли Х2 искомому Х2, когда нужное число шагов сделаем (ширина фрагмента) начинаем проверять теже иксы по У-1 и т.д.
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 31.05.2007 (Чт) 20:13

Получай GetDIBBits для обоих фрагментов, а затем ищи вхождение первого во втором. Если растр будешь получать в байтовый массив, то можешь даже InStr использовать.
Lasciate ogni speranza, voi ch'entrate.

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 31.05.2007 (Чт) 21:34

http://www.vbnet.ru/forum/show.aspx?id=142847

ты скажи, чем тебе ответ ZagZag не угодил?
Человек рождён для того, чтобы достичь жизни...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing-бот, Google-бот и гости: 84

    TopList