![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Найти в опр области экрана розовый пиксель и навестись на него.
============================================= Задача такая: В квадратном радиусе 24пикселя от текущей позиции мышки на экране нужно найти розовый пиксель и навести на него указатель мышки. |
|||
|
||||
| Illusion Dolphin |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
Эх, программисты 8)... а) Процедуры копирования области экрана
Взято из FAQ. б) ты получил битмапку, теперь просто сканишь массив pixels на предмет цвета $AAAAFF (или какой у тебя розовый?) и потом пеерводишь полученное значение х и у в экранные координаты и SetCursorPos(Point(х,у)). Чтобы быстрее сканить нужно что-то вроде этого:
a & b - координаты (но не на экране! нужно перевести - преобразования есть в школьком учебнике за 10-й класс... а может и раньше) Надеюсь, что идея понятна. Если была ошибка синтаксическая, то не ругайте сильно - писал просто по памяти. А чтобы получить текущую координату курсора: GetCursorPos(p:Tpoint); P.S. задай только bitmap.pixelformat=pf24bit перед сканированием. P.P.S. А почему именно розовый? 8) А то после конференции одного человека разные мысли лезут в голову про поиск розовых кофточек Это сообщение отредактировал(а) Illusion Dolphin - 25.7.2004, 18:55 -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
||||||
|
|||||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
RAdmin GetPixel, но это функция очень медленная, как и SetPixel, поэтому иди на "Мастера Дельфи" и качай там класс QuickPixels - это класс для прямого доступа к видеопамяти(там большая часть на асме, насколько я помню).
"Навести" мышку можешь при помощи SetCursorPos Это сообщение отредактировал(а) <Spawn> - 25.7.2004, 19:33 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Огромное вам всем спасибо.
вот только небольшое затруднение с опредилением TRect для процедуры CaptureScreenRect Мне нужно чтоб Границы прямоугольника были вокруг текущей позиции мышки на растоянии 24 пикселя. Я вот так сделал, но мне кажется что это не прямоугольник а ромб. Windows.GetCursorPos(Pz); With RC do begin TopLeft.X:=Pz.x-24; TopLeft.Y:=Pz.Y-24; BottomRight.X:=Pz.x+24; BottomRight.Y:=Pz.Y+24; end; |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |