Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Анализ картинки Добавлено: 28.09.10 11:42  

Автор вопроса:  GlobMaster
Подскажите реально ли такое вообще реализовать на VB:
Есть запущенная на компе программа, в окошке которой есть датчик (типа полосы прогресса выполнения какой-либо операции), который может "заполняться", то есть серая полоса на белом фоне движется в право или уменьшаться (двигаться влево). Так вот нужно следить уменьшается ли заполнение этой "полосы" или увеличивается и в зависимости от этого выполнять различные действия. По сути нужно анализировать картинку на экране.

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #1 Добавлено: 28.09.10 12:51
нуу, для примера:
1) делаеш скриншот и вырезаеш из него этот скроллбар
2)кароче разбиваеш эту картинку на полосы(как-то так):
| | | | | | 0 | | | | |

и смотриш цвет полосок, начиная от нуля. т.е. допустим если справа цвет полосы = цвет фона, то иди в лево если цвет полосы = цвеб скролла ,то иди к следующей полосе.
как-то так.

Ответить

Номер ответа: 2
Автор ответа:
 GlobMaster



Вопросов: 1
Ответов: 1
 Профиль | | #2 Добавлено: 28.09.10 14:24
да это-то понятно, только вот можно ли сделать скриншот выбранной области и определить цвет фона средствами VB?

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 28.09.10 14:25
если этот датчик - некриворуко написанный компонент, то может найти его по цепочке хендлов и тупо читать VALUE через SEND_MESSAGE, я полагаю так

Ответить

Номер ответа: 4
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #4 Добавлено: 28.09.10 14:25
а скрин и цвет средствами вб.нет можно.

Ответить

Номер ответа: 5
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #5
Добавлено: 28.09.10 15:42
скрин экрана (который юзер видит) SandKeys "ПРИНТСКРИН" или keyboard_event и тп (апи ещё наверое) :)

Ответить

Номер ответа: 6
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #6
Добавлено: 28.09.10 15:43
*sEndkeys

Ответить

Номер ответа: 7
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #7
Добавлено: 28.09.10 17:23
а скрин и цвет средствами вб.нет можно.

средствами vb2,3,4,5,6 тоже можно.

Ответить

Номер ответа: 8
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #8
Добавлено: 28.09.10 19:38
Скролл бар читать это ладно, я делал бота для игры Судоку на Mail.ru, там текст анализировался.

Ответить

Номер ответа: 9
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #9 Добавлено: 29.09.10 09:44
 ты серьезн сделал бота для судоку? который ищет стандартными методами?

Ответить

Номер ответа: 10
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #10
Добавлено: 29.09.10 10:34
Если это стандартный прогрессбар, то никакого изврата со скриншотами не нужно. Если же нет, то тоже нет ничего сложного. Вычисляем координаты главного окна программы, там относительные координаты этой полоски. Ну и просто проецируем этот кусок на свой битмап при помощи BitBlt. Ну а там уже провряем цвета.

Ответить

Номер ответа: 11
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #11
Добавлено: 29.09.10 22:34
Ну так и сделал.
Проверяю потом куски картинки, нахожу верхний левый угол цифры и сравниваю с заранее подготовленным шаблоном.
А дальше несколько методов нахождения цифр в клетках и в цикл пока не найдет все или пока не застопориться.
Потом рисует цифры поверх экрана.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам