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