Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.04.2010, 22:13
nikki4 nikki4 вне форума
Прохожий
 
Регистрация: 07.04.2010
Сообщения: 10
Репутация: 10
По умолчанию Помогите найти причину, почему разные цветы пикселей получаются

Есть кнопка:
Код:
GetCursorPos (mish);
edit8.text:=inttostr(mish.X);
edit9.Text:=inttostr(mish.Y);
HC := CreateDC('Display', nil, nil, nil);
edit12.text:= inttostr(GetPixel(HC,mish.X,mish.Y));
DeleteDC(HC);
Она записывает Х и У координаты мыши, а еще цвет точки в эдит12


Есть еще другая кнопка.. вот кусочек из нее:

Код:
HC:= CreateDC('Display', nil, nil, nil);
  if strtoint(edit12.text)<>GetPixel(HC,strtoint(edit8.text),strtoint(edit9.text)) then
  begin
  showmessage (inttostr(GetPixel(HC,strtoint(edit8.text),strtoint(edit9.text))));
  break;
  end;
  DeleteDC(HC);
Получается например в эдите 12 "5794559"
а в процессе работы программы появляется сообщение "4872662"

пробовал менять координаты всеравно не совпадает почему-то..

может то связанно как-то из за другой части кода?
там выше:

Код:
DC := CreateDC('Display', nil, nil, nil);
  Color := GetPixel(DC,x0,y0);
всякие циклы..
  DeleteDC(DC);
потом end; и то что выше с HC

мне просто нужно условие, типа если цвет пикселя в опредленной координате такой-то.. (как в эдите12) тогда сделать то-то..


для теста сделал:
Код:
GetCursorPos (mish);
edit13.text:=inttostr(mish.X);
edit14.text:=inttostr(mish.Y);
 HC := CreateDC('Display', nil, nil, nil);
 edit15.Text:=inttostr(GetPixel(HC,strtoint(edit13.text),strtoint(edit14.text)));
showmessage (inttostr(GetPixel(HC,1067,624)));
DeleteDC(HC);
Если навести курсором в какую-нибудь точку экрана, то прога в эдите15 показывает цвет, куда наведен курсор
После чего появляется сообщение 1184431.
Но если курсор навести прямо на точку 1067, 624 то оба варианта покажут 1381841, хотя не обязательно на ту точку наводить, во втором случает такой результат будет если просто навести на ту кнопку.. Ниче не понимаю..

Последний раз редактировалось nikki4, 13.04.2010 в 00:35.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:45.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025