![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Привет!
В инете куча тем по созданию скриншотов, но все они построенны одинаково.. И все тормозят... Код:
procedure TNewThread.MakeScreenshot();
var
DC:HDC;
DeskTop: TCanvas;
begin
if(VisualCoordSetState > 0) then
begin
DeskTop := TCanvas.Create;
try
with DeskTop do
Handle := GetWindowDC(GetDesktopWindow);
with Form1.Image.Canvas do
CopyRect(Rect(0, 0, Form1.Image.Width, Form1.Image.Height),
DeskTop,
Rect(MousePos.X, MousePos.Y,
round(MousePos.X+Form1.Image.Width/6),
round(MousePos.Y+Form1.Image.Height/6)))
finally
DeskTop.Free;
end
end;
end;Я даже его запускаю одним потоком Код:
// В этом месте выполняется весь необходимый код.
// ----------------------------------------------
Synchronize(MakeScreenShot);
// ----------------------------------------------
// sleep не меньше 15мс обязателен
Sleep(250);Подскажите другие способы? |
|
#3
|
||||
|
||||
|
|
|
#4
|
|||
|
|||
|
Спасибо за наводку, изучу эту тему!
Отпишусь |