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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.10.2012, 17:40
yxtuzhept yxtuzhept вне форума
Прохожий
 
Регистрация: 09.09.2011
Сообщения: 3
Репутация: 10
По умолчанию таймер и BitBlt

Добрый день ув. люди В общем нужно получать скриншоты экрана (вернее областей экрана) постоянно (тобишь в таймере или потоке). Но даже если брать небольшую область размером 100х100 с помощью Вин Апишной функции BitBlt то появляються нормальные тормоза. Как избежать этого? Или лучше воспользоваться DirectDraw? ЧИтал про него, но муть полная. Мало что понял. Подскажите что делать.

п.с. форум читал, но нужного ответа так и не нашел.
п.п.с был бы благодарен примеру получения скрина через directx

в данный момент получаю скрин так:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  b:=TBitmap.Create;
  b.Width:=105;
  b.Height:=105;
  MainDC:=GetDC(0);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  b.Free;
  ReleaseDC(MainDC,0);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  BitBlt(b.Canvas.Handle,0,0,105,105,MainDC,0,0,SrcCopy);
end;

Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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