Fórum Como capturar tela via programação? #238543

18/06/2004

0

Como faço para capturar o que está na tela via programação ?
Quais (ou qual é) o comando Para fazer isso ?
Desde já agradeço :wink:


Cent_se

Cent_se

Responder

Posts

18/06/2004

Fabio.hc

Tente assim:

Esta rotina a captura a tela e salva num jpg.

uses JPEG;

procedure TForm1.Button1Click(Sender: TObject);
var nomeArq:string;
   ano, mes, dia, hor, min, seg, Mseg:word;
begin
   try
   Image1.picture.Assign(CaptureScreenRect(Rect(0,0,Screen.Width,Screen.Height)));
   DecodeDateTime(Now,ano,mes,dia,hor,min,seg,mseg);
   nomeArq := IntToStr(ano)+FormatFloat(´00´,mes)+IntToStr(dia)+´-´+IntToStr(hor)+IntToStr(min)+IntToStr(seg);
   nomeArq := ´C:\Teste\´+nomeArq;
   BmpToJpg(image1.picture.Bitmap, nomeArq);
   except
   end;
end;

function CaptureScreenRect( ARect: TRect ): TBitmap;
var ScreenDC: HDC;
begin
   Result := TBitmap.Create;
   with Result, ARect do
      begin
      Width := Right - Left;
      Height := Bottom - Top;
      ScreenDC := GetDC( 0 );
      try
      BitBlt( Canvas.Handle, 0, 0, Width, Height, ScreenDC, Left, Top, SRCCOPY );
      finally
      ReleaseDC( 0, ScreenDC );
      end;
      end;
end;

function BmpToJpg(cImage: tbitmap; nomeJpg:string): Boolean;
var jp: TJpegImage;
begin
   jp := TJpegImage.Create;
   try
   with jp do
      begin
      Assign(cImage);
      SaveToFile(nomeJpg+´.jpg´)
      end;
   finally
   jp.Free;
   end;
end;



Responder

Gostei + 0

19/06/2004

Cent_se

Valeu Fábio


Responder

Gostei + 0

10/01/2006

Mordred

Tô usando o Delphi 7 e aqui não tem a unit JPG instalada... como eu faço pra instalar? :(


Responder

Gostei + 0

10/01/2006

Massuda

Vem no CD de instalação do Delphi; procure por uma pasta/diretório com o nome Extras (acho que era isso).


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar