Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2015, 21:07   #1
Sony_boy
Пользователь
 
Регистрация: 25.09.2015
Сообщений: 20
По умолчанию Реагирование на изменение цвета на экране

Здравствуйте. Ситуация: допустим на экране есть квадрат, синий. Координаты мне известны. Нужно следующие: если на этом квадрате появиться допустим точка/надпись любого другого цвета, то выполняется нужное мне действие. Как это осуществить на дельфи? Есть готовые наработки?
Sony_boy вне форума Ответить с цитированием
Старый 25.09.2015, 22:24   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

начни с методов получения скриншота определённой области экрана, скажем, в TBitmap.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 26.09.2015, 02:26   #3
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Цитата:
Сообщение от Sony_boy Посмотреть сообщение
Есть готовые наработки?
Да навалом наработок, возьми например пиксель его цвет по координатам которые входят в этот твой квадрат и вешай любые событие в зависимости от его цвета.
NIKOLAYY2 вне форума Ответить с цитированием
Старый 26.09.2015, 07:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
возьми например пиксель его цвет по координатам которые входят в этот твой квадрат
Не во всех играх это проканает )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.09.2015, 08:45   #5
Sony_boy
Пользователь
 
Регистрация: 25.09.2015
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не во всех играх это проканает )
Мне нужно не для игр, а для определённого элемента веб-страницы
Sony_boy вне форума Ответить с цитированием
Старый 26.09.2015, 09:36   #6
Larboss
Недо
Участник клуба
 
Регистрация: 11.08.2011
Сообщений: 1,394
По умолчанию

Скриншотиш в буфер-картинку нужную область экрана, потом снова снимаешь эту область, но во второй буфер и сравниваешь. Алгоритмов полно в сети для подобных задач.
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
Larboss вне форума Ответить с цитированием
Старый 26.09.2015, 09:38   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а для определённого элемента веб-страницы
Это какого же?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.09.2015, 12:30   #8
Sony_boy
Пользователь
 
Регистрация: 25.09.2015
Сообщений: 20
По умолчанию

Вот код
Код:
function DesktopColor(const X, Y: Integer): TColor;
 var
   c: TCanvas;
 begin
   c := TCanvas.Create;
   try
     c.Handle := GetWindowDC(GetDesktopWindow);
     Result   := GetPixel(c.Handle, X, Y);
   finally
     c.Free;
   end;
 end;
Всё компилируется. НО! Когда я подставляю нужные мне координаты, появляется ошибка. Ругается на вот это:
Код:
Result   := GetPixel(c.Handle, X:=543, Y:=669);
Цитата:
Сообщение от Stilet Посмотреть сообщение
Это какого же?
Ну на нужной веб-странице есть элемент, допустим квадрат. Вот нужно определить его цвет, и если он изменился, то нужно что бы сработало определённое событие

Последний раз редактировалось Stilet; 26.09.2015 в 12:51.
Sony_boy вне форума Ответить с цитированием
Старый 26.09.2015, 12:51   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
X:=543, Y:=669
Это что? Так можно только в OLE работать. В современных Делфи так врядли получится.
Цитата:
и если он изменился, то нужно что бы сработало определённое событие
Я бы не писал определение цвета по координатам на экране. Лучше уж написать примочку к браузеру, которая повесит событие на изменение цвета...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.09.2015, 12:54   #10
Sony_boy
Пользователь
 
Регистрация: 25.09.2015
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это что? Так можно только в OLE работать. В современных Делфи так врядли получится.
Это я хочу указать координаты нужной мне области, в которой нужно определить цвет
Sony_boy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск цвета на экране egorka2134 Общие вопросы Delphi 6 25.02.2014 22:14
Определение цвета пикселя на экране Florent Общие вопросы C/C++ 5 05.08.2011 00:48
изменение цвета MaXoN66613 Помощь студентам 2 02.06.2010 18:56
Изменение цвета girz Общие вопросы Delphi 6 30.05.2009 13:43
Изобразить на экране правильный многоугольник, стороны которого окрашены в разные цвета, совершающий внут Sashka Помощь студентам 3 31.01.2008 12:02