![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 14.09.2008
Сообщений: 3
|
![]()
Как можно извлечь цвет пикселя из определенной точки, зная только Хэндл окна?
В проге ищется конкретное окно и при условии, что оно найдено, возвращает его Хэндл(Handle). Мне нужно извлечь область точек(считать у них цвет). Напишите мне функцию извлечения цвета пикселя по Хэндлу! Плиз!!! Помогите, если кто знает. Очень поможете! ![]() |
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
По хэндлу вы можете получить размеры окна и координаты на экране.
Дальше задайте координаты "области точек" и смотрите их цвет. А вообще-то проблема не нова, попробуйте поиском по форуму по словам "цвет пиксел". Например: http://www.programmersforum.ru/showt...EA%F1%E5%EB%FF |
![]() |
![]() |
![]() |
#3 |
Регистрация: 14.09.2008
Сообщений: 3
|
![]()
Вобщем разобрался я с этой проблемкой!
![]() И выкладываю кусочек кода для тех, кто в дальнейшем сталкнется с ней: Captcha:=FindWindow('TFCaptcha','Ка пча); DC:=GetDC(Captcha); c:=GetPixel(DC,1,1); Rectangle(DC,1,1,16,16) image1.Canvas.Pixels[1,1]:=c; ReleaseDC(Captcha,DC); *********************************** ******************** DC:HDC; Captcha:Hwnd; Captcha:=FindWindow('TFCaptcha','Ка пча); - Искомое окно с заголовком "Капча" и классом "TFCaptcha". DC:=GetDC(Captcha); - Получение контекста окна для работы с рисованием. Получив его можно рисовать где угодно и на любом компоненте будь даже он TEdit! ![]() c:=GetPixel(DC,1,1); - Здесь я извлекаю цвет пикселя из точки [1,1], контекста окна DC. Rectangle(DC,1,1,16,16) - Тут я рисую на своем окошке прямоугольничек. Можно взять любую функцию рисования в компоненте TImage. image1.Canvas.Pixels[1,1]:=c; - Тут мы рисуем на компоненте TImage своей программы извлеченный цвет пикселя. ReleaseDC(Captcha,DC); - После рисования освобождаем больше ненужный контекст рисования через данную функцию. Для получения класса, заголовка, дескриптора окна и дескриптора меню любого окна в Windows - выкладываю свою прогу с исходниками. Она немного не доработанная(единственная недоработка - не работает ComboBox), но делает свое дело! ![]() В этот архив вложил утилиту WS32.exe - тоже самое, менее удобная но больше функций. Думаю сами разберетесь, тож полезная штука! http://letitbit.net/download/b840704...andls.rar.html |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WinApi работа с памятью, помогите! | casper123 | Помощь студентам | 5 | 15.09.2008 08:13 |
Помогите!Работа с listbox | spiteful41 | Помощь студентам | 5 | 21.07.2008 14:02 |
Работа с текстовым файлом (delphi). Помогите доделать программу. | Snord | Помощь студентам | 1 | 14.12.2007 14:10 |
Помогите понять в чем ошибка (работа со строками) | Edimus | Общие вопросы C/C++ | 1 | 22.11.2007 14:09 |
Работа с TreeView. Помогите найти ошибку. | AlDelta | Компоненты Delphi | 2 | 20.07.2007 12:31 |