Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL  
Плагин определяющий цвет.
Bloer2012Дата: Чт, 03 Января 2013, 01:23 | Сообщение # 1
Прохожий
Всем доброго времени суток,я ищу плагин который мог бы определить цвет в указанной точке,если мне не изменяет память,я видел плагин некоторое время назад, но он определял цвет только на картинке.Если вам не сложно не могли бы вы помочь мне с поисками данного плагина. Заранее спасибо и извините за мою слепость если он есть и я его не нашел. Всех с наступившим Новым Годом! :)

Добавлено (03 Января 2013, 01:23)
---------------------------------------------
Извините меня,я с этим новым годом совсем запутался %) ,точнее мне нужно,что бы плагин искал определенный цвет на экране,а потом сохранял его координаты в переменную.

 
СообщениеВсем доброго времени суток,я ищу плагин который мог бы определить цвет в указанной точке,если мне не изменяет память,я видел плагин некоторое время назад, но он определял цвет только на картинке.Если вам не сложно не могли бы вы помочь мне с поисками данного плагина. Заранее спасибо и извините за мою слепость если он есть и я его не нашел. Всех с наступившим Новым Годом! :)

Добавлено (03 Января 2013, 01:23)
---------------------------------------------
Извините меня,я с этим новым годом совсем запутался %) ,точнее мне нужно,что бы плагин искал определенный цвет на экране,а потом сохранял его координаты в переменную.


Автор - Bloer2012
Дата добавления - 03 Января 2013 в 01:23
bestfulДата: Чт, 03 Января 2013, 02:23 | Сообщение # 2
Новичок
Об самом плагин не слышал, но можно попробовать определенную связку. Фоткаешь экран благодоря hpwutility, cохраняешь изображение в файл. Далее через neophp запускаешь специальный файл (вот в этой ссылке написано как найти пиксель с заданным цветом - http://php.ru/forum/viewtopic.php?t=39951) Результат выводишь через есно. Может есть и получше способ, но я бы сделал это так. :)

#define i *want
#define set (char*)
#define get (char)
#define want =
#define another char
#define but ;

another i want set false but i want get true;
 
СообщениеОб самом плагин не слышал, но можно попробовать определенную связку. Фоткаешь экран благодоря hpwutility, cохраняешь изображение в файл. Далее через neophp запускаешь специальный файл (вот в этой ссылке написано как найти пиксель с заданным цветом - http://php.ru/forum/viewtopic.php?t=39951) Результат выводишь через есно. Может есть и получше способ, но я бы сделал это так. :)

Автор - bestful
Дата добавления - 03 Января 2013 в 02:23
DEMBELДата: Чт, 03 Января 2013, 08:07 | Сообщение # 3
Наш дизайнер
делаете скриншот экрана одним из кучи плагинов (напр. плаг hpwUtility->hpwScreenShot), затем проверяете полученную картинку попиксельно, получая цвет каждого пикселя (напр. плаг hpwImage->hpwImageGetColor) в цикле, как нашли нужный цвет - запомнили координаты, пошли далее...

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеделаете скриншот экрана одним из кучи плагинов (напр. плаг hpwUtility->hpwScreenShot), затем проверяете полученную картинку попиксельно, получая цвет каждого пикселя (напр. плаг hpwImage->hpwImageGetColor) в цикле, как нашли нужный цвет - запомнили координаты, пошли далее...

Автор - DEMBEL
Дата добавления - 03 Января 2013 в 08:07
Bloer2012Дата: Пт, 04 Января 2013, 11:38 | Сообщение # 4
Прохожий
Всем спасибо за ответы,но думаю,что нужного мне быстродействия из-за этой связки не получится,но это только теория.
 
СообщениеВсем спасибо за ответы,но думаю,что нужного мне быстродействия из-за этой связки не получится,но это только теория.

Автор - Bloer2012
Дата добавления - 04 Января 2013 в 11:38
bestfulДата: Пт, 04 Января 2013, 14:45 | Сообщение # 5
Новичок
Пхп по сути быстрее необука будет. Я думаю за одну-две секунды справится. thumbs_up

#define i *want
#define set (char*)
#define get (char)
#define want =
#define another char
#define but ;

another i want set false but i want get true;
 
СообщениеПхп по сути быстрее необука будет. Я думаю за одну-две секунды справится. thumbs_up

Автор - bestful
Дата добавления - 04 Января 2013 в 14:45
mishemДата: Пт, 04 Января 2013, 16:20 | Сообщение # 6
Эксперт форума
Если честно я понять суть задачи не могу.
Найти цвет и остановиться?
Найти все координаты с определенным цветом?
Нахрена это нужно?

Добавлено (04 Января 2013, 16:20)
---------------------------------------------

Цитата (Bloer2012)
но думаю,что нужного мне быстродействия из-за этой связки не получится,

А тут и без связки....
Разрешение 1920х1080 просканировало только на получение и сравнение попиксельно цвета за 27 минут.
Получается сканирует 1280 пикселей в секунду. Это без записи и сохранения координат.
Какое уж тут быстродействие?

Цитата (bestful)
Пхп по сути быстрее необука будет. Я думаю за одну-две секунды справится.

Что то как то сомнительно. %)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЕсли честно я понять суть задачи не могу.
Найти цвет и остановиться?
Найти все координаты с определенным цветом?
Нахрена это нужно?

Добавлено (04 Января 2013, 16:20)
---------------------------------------------

Цитата (Bloer2012)
но думаю,что нужного мне быстродействия из-за этой связки не получится,

А тут и без связки....
Разрешение 1920х1080 просканировало только на получение и сравнение попиксельно цвета за 27 минут.
Получается сканирует 1280 пикселей в секунду. Это без записи и сохранения координат.
Какое уж тут быстродействие?

Цитата (bestful)
Пхп по сути быстрее необука будет. Я думаю за одну-две секунды справится.

Что то как то сомнительно. %)

Автор - mishem
Дата добавления - 04 Января 2013 в 16:20
Bloer2012Дата: Сб, 05 Января 2013, 00:59 | Сообщение # 7
Прохожий
Mishem, я хочу сделать программу которая искала бы определенный цвет на мониторе(точнее сказать именно в программах которые находятся на мониторе),после этого она сохраняла координаты найденных точек в переменную.
Но я немного запутался с плагинами: RacAutoIt3x и hpwUtility,а именно с командами RAC_WinGetHandle и RAC_WinGetProcess для получения hWND и pId.Работать с некоторыми окнами приложений они отказываются,они просто бездействуют и не записывают в переменную RAC_return ничего.После того как я определил hWND(обычно он выгляди так 001009EA,бывает просто цифры),использую функцию hpwGetObjRect в плагине hpwUtility для поиска координат приложения,координаты окна приложения записываются неправильно,и из-за этого не получается сделать скрин приложения.
Команду hpwGetObjRect пытался сделать и с pID,все без результатно. :(
P.S. Я прикрепил публикацию, что бы вы смогли понять суть моей проблемы в командах и помочь мне ее решить. Заранее спасибо :)
Прикрепления: dwar.rar (2.4 Kb)
 
СообщениеMishem, я хочу сделать программу которая искала бы определенный цвет на мониторе(точнее сказать именно в программах которые находятся на мониторе),после этого она сохраняла координаты найденных точек в переменную.
Но я немного запутался с плагинами: RacAutoIt3x и hpwUtility,а именно с командами RAC_WinGetHandle и RAC_WinGetProcess для получения hWND и pId.Работать с некоторыми окнами приложений они отказываются,они просто бездействуют и не записывают в переменную RAC_return ничего.После того как я определил hWND(обычно он выгляди так 001009EA,бывает просто цифры),использую функцию hpwGetObjRect в плагине hpwUtility для поиска координат приложения,координаты окна приложения записываются неправильно,и из-за этого не получается сделать скрин приложения.
Команду hpwGetObjRect пытался сделать и с pID,все без результатно. :(
P.S. Я прикрепил публикацию, что бы вы смогли понять суть моей проблемы в командах и помочь мне ее решить. Заранее спасибо :)

Автор - Bloer2012
Дата добавления - 05 Января 2013 в 00:59
mishemДата: Сб, 05 Января 2013, 03:08 | Сообщение # 8
Эксперт форума
Чтобы получить координаты и размер окна, достаточно использовать две команды

Код
zmGetWindowHandle "[Name]" "[hWND]"
zmGetWindowRectangle "[hWND]" "[x]" "[y]" "[Height]" "[Width]" "ClientSize"


Плагин zmFunctions

Но нужно иметь ввиду что если название не полное, а окон несколько в которых встречается такое название, то определится то окно, которое находится выше.
К примеру если запущена НБ и у нее заголовок NeoBook 5 Professional и в тот же момент запущен отладчик НБ у которого заголовок Отладчик NeoBook, а мы для поиска вводим только NeoBook, то получим координаты отладчика.

Делать скриншот не обязательно, можно просто переместить окно на передний план и использовать команду ksGetPixelColor из плагина ksFunctions для того что бы получить определенный цвет. Но окно обязательно должно быть на переднем плане.

Я так и не понял, зачем и где это может понадобится?

Добавлено (05 Января 2013, 03:08)
---------------------------------------------
В твоем примере координаты окна определяются правильно, но определение идет всего окна вместе с заголовком, рамкой, строкой состояния.

Те команды что выше, определяют клиентскую часть окна. Именно то что тебе надо.
Плюс ко всему нужно будет еще сделать проверку на существование, положение и т. д. окна.
Если окно свернуто, то его надо будет развернуть.
Короче эксперементируй.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЧтобы получить координаты и размер окна, достаточно использовать две команды

Код
zmGetWindowHandle "[Name]" "[hWND]"
zmGetWindowRectangle "[hWND]" "[x]" "[y]" "[Height]" "[Width]" "ClientSize"


Плагин zmFunctions

Но нужно иметь ввиду что если название не полное, а окон несколько в которых встречается такое название, то определится то окно, которое находится выше.
К примеру если запущена НБ и у нее заголовок NeoBook 5 Professional и в тот же момент запущен отладчик НБ у которого заголовок Отладчик NeoBook, а мы для поиска вводим только NeoBook, то получим координаты отладчика.

Делать скриншот не обязательно, можно просто переместить окно на передний план и использовать команду ksGetPixelColor из плагина ksFunctions для того что бы получить определенный цвет. Но окно обязательно должно быть на переднем плане.

Я так и не понял, зачем и где это может понадобится?

Добавлено (05 Января 2013, 03:08)
---------------------------------------------
В твоем примере координаты окна определяются правильно, но определение идет всего окна вместе с заголовком, рамкой, строкой состояния.

Те команды что выше, определяют клиентскую часть окна. Именно то что тебе надо.
Плюс ко всему нужно будет еще сделать проверку на существование, положение и т. д. окна.
Если окно свернуто, то его надо будет развернуть.
Короче эксперементируй.


Автор - mishem
Дата добавления - 05 Января 2013 в 03:08
PeterДата: Сб, 05 Января 2013, 03:12 | Сообщение # 9
Админ NeoBook
Цитата (mishem)
а мы для поиска вводим только NeoBook

Для обхода этой "неприятности" можно воспользоваться командой zmFindWindow, которая ищет окно по точному соответствию заголовка. Но и в этом случае, если имеются два окна с абсолютно одинаковыми заголовками, будет найдено верхнее окно. Эту "неприятность" можно попытаться объехать, если задействовать для поиска дополнительно параметр имя класса окна.

Что такое класс окна?

Bloer2012, такой совет (на будущее): плагин RacAutoIt3x используйте только в самом крайнем случае, когда все другие средства уже исчерпаны.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
а мы для поиска вводим только NeoBook

Для обхода этой "неприятности" можно воспользоваться командой zmFindWindow, которая ищет окно по точному соответствию заголовка. Но и в этом случае, если имеются два окна с абсолютно одинаковыми заголовками, будет найдено верхнее окно. Эту "неприятность" можно попытаться объехать, если задействовать для поиска дополнительно параметр имя класса окна.

Что такое класс окна?

Bloer2012, такой совет (на будущее): плагин RacAutoIt3x используйте только в самом крайнем случае, когда все другие средства уже исчерпаны.

Автор - Peter
Дата добавления - 05 Января 2013 в 03:12
Bloer2012Дата: Сб, 05 Января 2013, 13:15 | Сообщение # 10
Прохожий
Спасибо за помощь :) , с этими командами разобрался, но столкнулся еще с одной проблемой,никак не могу получить координаты цвета с помощью команды hpwImageGetColor %) ,если вам не сложно можете написать эту команду сюда,что бы я мог понять, что и как заполнять в ней.

Добавлено (05 Января 2013, 13:15)
---------------------------------------------

Цитата (mishem)
Я так и не понял, зачем и где это может понадобится?

Есть у меня один чат, но когда приходит сообщение он не издает звук, я хочу, что бы мое приложение издавало звук при приходе сообщения.
Чат у меня всегда висит на мониторе, а вот меня около него часто не бывает.
Знаю, затея глупая :D , но все же для меня полезная. redface
 
СообщениеСпасибо за помощь :) , с этими командами разобрался, но столкнулся еще с одной проблемой,никак не могу получить координаты цвета с помощью команды hpwImageGetColor %) ,если вам не сложно можете написать эту команду сюда,что бы я мог понять, что и как заполнять в ней.

Добавлено (05 Января 2013, 13:15)
---------------------------------------------

Цитата (mishem)
Я так и не понял, зачем и где это может понадобится?

Есть у меня один чат, но когда приходит сообщение он не издает звук, я хочу, что бы мое приложение издавало звук при приходе сообщения.
Чат у меня всегда висит на мониторе, а вот меня около него часто не бывает.
Знаю, затея глупая :D , но все же для меня полезная. redface

Автор - Bloer2012
Дата добавления - 05 Января 2013 в 13:15
mishemДата: Сб, 05 Января 2013, 13:22 | Сообщение # 11
Эксперт форума
Цитата (Bloer2012)
икак не могу получить координаты цвета

Она получает не координаты, а цвет по заданным координатам.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Bloer2012)
икак не могу получить координаты цвета

Она получает не координаты, а цвет по заданным координатам.

Автор - mishem
Дата добавления - 05 Января 2013 в 13:22
Bloer2012Дата: Сб, 05 Января 2013, 13:49 | Сообщение # 12
Прохожий
Цитата (mishem)
Она получает не координаты, а цвет по заданным координатам.

Я понял, сейчас попробую зациклить команду ksGetPixelColor,что бы она отсканировала нужную область и сохранила все это в переменные,потом проверить эти переменный на наличие нужного цвета.
 
Сообщение
Цитата (mishem)
Она получает не координаты, а цвет по заданным координатам.

Я понял, сейчас попробую зациклить команду ksGetPixelColor,что бы она отсканировала нужную область и сохранила все это в переменные,потом проверить эти переменный на наличие нужного цвета.

Автор - Bloer2012
Дата добавления - 05 Января 2013 в 13:49
mishemДата: Сб, 05 Января 2013, 14:27 | Сообщение # 13
Эксперт форума
Цитата (Bloer2012)
что бы она отсканировала нужную область и сохранила все это в переменные,потом проверить эти переменный на наличие нужного цвета


лучше сразу проверять, иначе долго сканировать будет.
Смотри пример.
Прикрепления: Pub.zip (2.4 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Bloer2012)
что бы она отсканировала нужную область и сохранила все это в переменные,потом проверить эти переменный на наличие нужного цвета


лучше сразу проверять, иначе долго сканировать будет.
Смотри пример.

Автор - mishem
Дата добавления - 05 Января 2013 в 14:27
Bloer2012Дата: Сб, 05 Января 2013, 18:22 | Сообщение # 14
Прохожий
Цитата (mishem)
лучше сразу проверять, иначе долго сканировать будет.
Смотри пример.

Спасибо :) ,сейчас буду с вашей разбираться.

Добавлено (05 Января 2013, 18:19)
---------------------------------------------
Вот код,но почему то дальше 3 цикла не идет,в отладчике показано что функции не выполнены, почему?

Добавлено (05 Января 2013, 18:22)
---------------------------------------------
Все разобрался, в переменной [num] не было числа и поэтому не получалось. :D

 
Сообщение
Цитата (mishem)
лучше сразу проверять, иначе долго сканировать будет.
Смотри пример.

Спасибо :) ,сейчас буду с вашей разбираться.

Добавлено (05 Января 2013, 18:19)
---------------------------------------------
Вот код,но почему то дальше 3 цикла не идет,в отладчике показано что функции не выполнены, почему?

Добавлено (05 Января 2013, 18:22)
---------------------------------------------
Все разобрался, в переменной [num] не было числа и поэтому не получалось. :D


Автор - Bloer2012
Дата добавления - 05 Января 2013 в 18:22
mishemДата: Сб, 05 Января 2013, 19:36 | Сообщение # 15
Эксперт форума
Цитата (Bloer2012)
Есть у меня один чат, но когда приходит сообщение он не издает звук, я хочу, что бы мое приложение издавало звук при приходе сообщения.

Это все конечно хорошо, но может быть лучше использовать например RAC_WinGetText
;)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Bloer2012)
Есть у меня один чат, но когда приходит сообщение он не издает звук, я хочу, что бы мое приложение издавало звук при приходе сообщения.

Это все конечно хорошо, но может быть лучше использовать например RAC_WinGetText
;)

Автор - mishem
Дата добавления - 05 Января 2013 в 19:36
antonДата: Вс, 06 Января 2013, 15:04 | Сообщение # 16
Ветеран форума
Цитата (mishem)
Есть у меня один чат

А если не секрет что за программа клиент чата... или он в вебе запущен?


"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
 
Сообщение
Цитата (mishem)
Есть у меня один чат

А если не секрет что за программа клиент чата... или он в вебе запущен?

Автор - anton
Дата добавления - 06 Января 2013 в 15:04
DEMBELДата: Вс, 06 Января 2013, 20:34 | Сообщение # 17
Наш дизайнер
мониторить приход новых сообщений видимо по цвету какой-то появляющейся иконки или текста, это чтото новенькое в извращениях... вероятно, задачу можно решить более "традиционными" способами

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениемониторить приход новых сообщений видимо по цвету какой-то появляющейся иконки или текста, это чтото новенькое в извращениях... вероятно, задачу можно решить более "традиционными" способами

Автор - DEMBEL
Дата добавления - 06 Января 2013 в 20:34
  • Страница 1 из 1
  • 1
Поиск: