Четверг, 18.04.2024, 18:18 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
delphicode » Delphi » Вопросы по Delphi » color pos (help)
color pos
okeДата: Четверг, 26.04.2012, 14:00 | Сообщение # 1
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
народ как реализовать такую систему... ищем цвет пикселя например синий если он находится то курсор плавно "прилипает" к нему
 
xXxSh@dowxXxДата: Четверг, 26.04.2012, 15:32 | Сообщение # 2
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Обычно делается скрин и определяется цвет пикселей функцией,сейчас пример кода привести не могу,пишу с мобилы,дома буду,выложу,хотя в нете много подобных примеров,а вобще зачем тебе что бы мышка прилипала,так то у тебя она к каждому синему пикселю будет липнуть,а их у тебя будет очень много,может тебе определенную область нада?
 
okeДата: Пятница, 27.04.2012, 18:26 | Сообщение # 3
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
ну если можно то по области только область не очень мелкая была

Сообщение отредактировал oke - Пятница, 27.04.2012, 19:03
 
Don_DiegoДата: Суббота, 05.05.2012, 21:44 | Сообщение # 4
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Quote (oke)
ищем цвет пикселя например синий если он находится то курсор плавно "прилипает" к нему

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


Сообщение отредактировал Don_Diego - Воскресенье, 06.05.2012, 01:26
 
xXxSh@dowxXxДата: Воскресенье, 06.05.2012, 09:56 | Сообщение # 5
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Don_Diego
Quote (Don_Diego)
Тебе это нужно на форме твоей программы сделать или чтобы по всему монитору искало синие пиксели?


вот вот, у меня тоже возник такой вопрос, представь что будет если ты запустишь прилипание ко всем синим пикселям на экране, это же армагедон для мышки)))
 
dolphinДата: Воскресенье, 06.05.2012, 10:29 | Сообщение # 6
Администратор
Сообщений: 906
Статус: Offline
Quote (xXxSh@dowxXx)
вот вот, у меня тоже возник такой вопрос, представь что будет если ты запустишь прилипание ко всем синим пикселям на экране, это же армагедон для мышки)))


Вот и я о том же подумал
 
okeДата: Воскресенье, 06.05.2012, 16:32 | Сообщение # 7
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
нет нужно по всему экрану просто цвет будет не синий это пример цвет будет помоему фиолетовый

Сообщение отредактировал oke - Воскресенье, 06.05.2012, 16:33
 
okeДата: Воскресенье, 06.05.2012, 16:33 | Сообщение # 8
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
Quote (Don_Diego)
Случайно не новый чит на Counter-Strike?

да я даже не играл ниразу в это)
 
xXxSh@dowxXxДата: Воскресенье, 06.05.2012, 17:43 | Сообщение # 9
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
oke да тут собственно не имеет значения какой цвет, хоть серо-буро-малиновый в крапинку, ты пойми что таких пикселей на всем экране в той же заставке на рабочем столе куча, и твоя мышка будет липнуть ко всем подряд, если ты конечно не поставишь себе одноцветную картинку на заставку, ты объясни поподробней может быть тебе нужно работать с какой то левой программой в которой нужно находить такой цвет и что бы мышка тебе на него указала, не обязательно что бы липла, можно и другие варианты решения найти...
 
okeДата: Воскресенье, 06.05.2012, 17:56 | Сообщение # 10
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
ну чтоб находило в активном окне, желательно бы сделать чтоб к примеру если картинка ближе 5 см то мышка прилипала или указывала а если дальше то не реагировала
 
Don_DiegoДата: Воскресенье, 06.05.2012, 21:56 | Сообщение # 11
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Вот как искать цвет нужного пикселя на мониторе (у меня разрешение 1280х768, такое же в программе). Тормозить будет очень сильно, поэтому такой "метод" лучше запхнуть в отдельный поток. Ну, а как мышку то прилепить к тем координатам думаю поймешь? wink



PS: если таким "способом" делать то что ты хочешь, то лучше задавать очень маленькую область поиска нужного пикселя. Или если например у тебя искомый объект довольно крупный (скажем 50х50 пикселей), то шаг поиска можем увеличить с таким расчетом чтобы мы всегда попадали в нужный объект. Тогда скорость еще более заметно возрастет.


Сообщение отредактировал Don_Diego - Воскресенье, 06.05.2012, 22:28
 
xXxSh@dowxXxДата: Понедельник, 07.05.2012, 07:45 | Сообщение # 12
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
да..., мне почему то кажется что oke нужно не цвет пикселя, а цвет небольшой, или можно сказать очень маленькой области экрана, точки какой нибудь, тогда другое дело, и код будет работать нормально, потому что если работать с пикселями то даже в одной точке на экране их не так уж и мало biggrin
 
Don_DiegoДата: Понедельник, 07.05.2012, 13:59 | Сообщение # 13
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Кстати, навело на мысль... Это же считай наполовину готовый код для того чтобы найти вот такую картинку , навести на нее курсор, сымитировать нажатие кнопок мыши, чтобы в конечном итоге нажало Выход lol
Прикрепления: 2206045.jpg (0.8 Kb)
 
okeДата: Понедельник, 07.05.2012, 18:01 | Сообщение # 14
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
Quote (Don_Diego)
PS: если таким "способом" делать то что ты хочешь, то лучше задавать очень маленькую область поиска нужного пикселя. Или если например у тебя искомый объект довольно крупный (скажем 50х50 пикселей), то шаг поиска можем увеличить с таким расчетом чтобы мы всегда попадали в нужный объект. Тогда скорость еще более заметно возрастет.

работает ли способ на активном окне в др программе?
 
okeДата: Понедельник, 07.05.2012, 18:06 | Сообщение # 15
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
Quote (Don_Diego)
Вот как искать цвет нужного пикселя на мониторе (у меня разрешение 1280х768, такое же в программе). Тормозить будет очень сильно, поэтому такой "метод" лучше запхнуть в отдельный поток. Ну, а как мышку то прилепить к тем координатам думаю поймешь?

код отказывается работать программа просто виснет
 
okeДата: Четверг, 10.05.2012, 17:06 | Сообщение # 16
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
up
 
Don_DiegoДата: Пятница, 11.05.2012, 11:48 | Сообщение # 17
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
oke, у нас видимо разные версии Delphi... Вот тебе полный исходник и видео к нему cool
Прикрепления: Get_Color.rar (5.4 Kb) · get_pixel.rar (562.9 Kb)
 
xXxSh@dowxXxДата: Пятница, 11.05.2012, 18:15 | Сообщение # 18
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Don_Diego кстати хорошая мысль была на счет поиска значка антивируса в трее и отключение через "Выход", вот только получится ли быстро это сделать, мне кажется будет много проблем с этим методом:

1. это то что выводятся на экран все действия и мелькания меню антивируса;

2. это то что если пользователь в этот момент что то делает с мышкой, я имею ввиду активно ее передвигает biggrin , то координаты могут сбиться.
 
Don_DiegoДата: Пятница, 11.05.2012, 19:07 | Сообщение # 19
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, нету ничего невозможного, пока я человек cool
Я думал над этими вопросами, и они довольно легко решаются:
1) окошки антивируса (например касперского) выводятся выше значка трея
2) действительно, координаты могут сбиться когда пользователь что-то будет делать мышкой. Но, мы ведь можем ее отключить на время? happy

Тут проблема чуть более сложная есть: например узнать размер трея, тоесть искомой области. Например на 7 он вверх сильно вытянут, у некоторых может быть влево задвинут до безобразия, у некоторых вообще значки могут быть скрыты за специальной кнопкой... Но и это все решается, чем больше идей напишут - тем более шанс успеха wink
А чтобы пользователь не сильно нас заподозрил, после запуска такого файла, действия можем начинать скажем, минут через 10... Конечно, убрать стоит автозагрузку и всякие самокопирования.
 
okeДата: Пятница, 11.05.2012, 22:15 | Сообщение # 20
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
не работает
 
Don_DiegoДата: Пятница, 11.05.2012, 22:22 | Сообщение # 21
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Ну тогда уже ничем не могу помочь... Может еще кто свои идеи напишет..
 
xXxSh@dowxXxДата: Суббота, 12.05.2012, 10:02 | Сообщение # 22
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Don_Diego)
например узнать размер трея


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

да в принципе идея не плохая...
 
Don_DiegoДата: Суббота, 12.05.2012, 11:38 | Сообщение # 23
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, в таком случае тут работы осталось совсем немного. Я конечно не разработчик Fine Reader, но все же только что составил цветовую гамму для значка KIS



Брал по вертикали, вот по такой схеме:


Тогда нужно такое же проделать для остальных антивирусов и файрволлов тоже.
Прикрепления: 4992116.jpg (2.0 Kb)
 
Don_DiegoДата: Суббота, 12.05.2012, 19:39 | Сообщение # 24
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
У кого стоит Windows 7, измеряйте пожалуйста приблизительные размеры области трея (в пикселях).
 
delphicode » Delphi » Вопросы по Delphi » color pos (help)
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz