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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.09.2010, 16:02
eldaeron eldaeron вне форума
Прохожий
 
Регистрация: 05.05.2008
Сообщения: 15
Репутация: 10
По умолчанию быстрое чтение пикселей с экрана

добрый день! у меня такой вопрос некоторые из вас знают игру линейку и тамошнюю рыбалку.
задался интересом написать миниатюрную авторыбалку, и пару лет назад даже написал её, однако время убило мой винт а с ним и то что я написал. пишу заново
так вот, проблема в следующем. не могу вспомнить как быстро получить серию пикселей с экрана. раньше я делал это так:
Код:
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;

 procedure TForm1.Timer1Timer(Sender: TObject);
 var
   col:tcolor;
   x,y,i:intrger;
 begin
   x:=panel1.left;// x и y задаются в другом месте
   y:=panel1.top;// сюда просто для понятности, кто они и откуда.
   for i:=1 to panel1.width do //panel1.width равно примерно 223 пикселя
   Col := DesktopColor(X,Y);
// Col := GetPixel(c.Handle, X, Y); такой вариант тож длится долго.

//тут дальше считаем пиксели определенного цвета и соответственно 
//эмулируем нажатие кнопок.
 end;
так вот, раньше это делалось каждые 100 милисекунд по таймеру, сейчас же даже 1 прогон (считывание 223 пикселей) занимает примерно 4 секунды. вроде делал то же самое, но видимо как то по другому... так же возможно проблема в семёрке, раньше стояла XP... никто не подскажет как быстро получить и сосчитать серию пикселей?
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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