Распознавания изображения

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

Распознавания изображения

Сообщение Alp » 19.10.2011 (Ср) 14:13

Я покопался в интернете и что-то не смог найти API функцию которая помогла мне распознать изображение на экране.
Т.е. мне нужна такая функция которая могла бы мне сказать каково цвета пиксел по координатам 150:200 монитора в данный момент.
Если кто знает такую функцию дайте ссылку плиз на пример ну или хотя бы название этой функции.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Распознавания изображения

Сообщение FireFenix » 19.10.2011 (Ср) 14:32

Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Re: Распознавания изображения

Сообщение Alp » 19.10.2011 (Ср) 14:39

Спасибо конечно ))). Но это же форум VB. Можно тоже самое, но на ВБ.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Распознавания изображения

Сообщение FireFenix » 19.10.2011 (Ср) 14:48

CreateDC("DISPLAY", Nothing, Nothing, Nothing)
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Re: Распознавания изображения

Сообщение Alp » 19.10.2011 (Ср) 15:55

Private Declare Function GetPixel Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

разобрался с hdc
Private Sub Timer1_timer()
Dim hdcA As Long
Dim hWndA As Long
hWndA = GetForegroundWindow()
hdcA = (GetWindowDC(hWndA))
GetCursorPos asd
Me.Caption = GetPixel(hdcA, asd.x, asd.y) & " " & asd.x & " " & asd.y
ReleaseDC hWndA, hdcA
End Sub


но появилось куча вопросов:
Выдает не понятное число. Как преобразовать это число в RGB ну типа FFFFFF (это белый)?
то есть нужна обратная функция к RGB
И почему определяет цвет не по всему экрану а только угол в 1024 на 786 пикселей?
у меня разрешение экрана 1280 на 1024 пикселя
Если я ухожу за граници пишет -1

Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Re: Распознавания изображения

Сообщение Alp » 19.10.2011 (Ср) 16:04

Извините что нафлудил все разобрался. Спасибо можно закрыть тему.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Распознавания изображения

Сообщение Хакер » 19.10.2011 (Ср) 19:23

Alp, в чём прикол использовать тег icode для многострочных кусков кода? :x
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Re: Распознавания изображения

Сообщение Alp » 02.11.2011 (Ср) 11:30

Вот простой код раньше было все нормально,
Код: Выделить всё
Private Sub Timer1_timer()
Dim hdcA As Double
Dim hWndA As Long
hWndA = GetForegroundWindow()
hdcA = GetWindowDC(hWndA)
    pixel = GetPixel(hdcA, 100, 100)
    ReleaseDC hWndA, hdcA
End Sub

а теперь ругается на строчку hdcA = GetWindowDC(hWndA). Говорит 6я ошибка переполнение, что за ерунда?

В модуле
Код: Выделить всё
Public Declare Function GetWindowDC Lib "user32" Alias "GetDC" (ByVal hWnd As Integer) As Integer
Public Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Integer, ByVal nXPos As Integer, ByVal nYPos As Integer) As Integer

Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Re: Распознавания изображения

Сообщение Alp » 02.11.2011 (Ср) 11:59

Сорри за глупый вопрос )))). Я увидел что не правильно объявлены переменные в функциях )). Разобрался


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

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

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

    TopList