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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2016, 18:06   #1
neadekwatt
Новичок
Джуниор
 
Регистрация: 07.12.2016
Сообщений: 1
По умолчанию Delphi: считывание пикселей с экрана для бота

В общем, дело такое - хочу бота сделать для одной игры. И должен он считывать с окна игры определённые пиксели.
Накопал в интернете следующий код:


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

Код:
var
  skrinshot: TBitmap; //глобальная переменная для хранения скриншота

procedure do_skrinshot(x,y,x2,y2{какую часть экрана сохранять}: integer; Sender: TObject);
var
  DeskTop: TCanvas;
begin
  DeskTop := TCanvas.Create;
  try
    with DeskTop do
      Handle := GetWindowDC(GetDesktopWindow);
    with skrinshot.Canvas do
      CopyRect(Rect(x,y,x2,y2),
        DeskTop,
        Rect(x,y,x2,y2))
  finally
    DeskTop.Free;
  end
end;
А вот функцию я написать не могу. Я слышал, что можно быстро считывать пикселя с помощью scanline, но так и не понял, как это сделать(
neadekwatt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поле для добавления пикселей на XAML fade24th WPF, UWP, WinRT, XAML 0 27.03.2016 20:34
Считывание пикселей meri911 Помощь студентам 0 09.11.2012 15:18
Создание бота для приложения ВК(Delphi). Denis7654 Помощь студентам 2 06.08.2012 15:25
Считывание пикселей vers0 Общие вопросы Delphi 1 30.11.2011 17:08
быстрое чтение пикселей с экрана eldalex Общие вопросы Delphi 12 19.10.2010 13:20