Ver Mensaje Individual
  #1  
Antiguo 13-09-2006
Avatar de jorge1987
jorge1987 jorge1987 is offline
Miembro
 
Registrado: may 2005
Ubicación: Buenos Aires
Posts: 244
Reputación: 19
jorge1987 Va por buen camino
Capturar la pantalla con lazarus

Yo con delphi hacia algo como esto para capturar la pantalla:

Código Delphi [-]
procedure TForm1.BtnCapturarClick(Sender: TObject);
Var
  B : TBitmap;
Begin
  B := TBitmap.Create;
  B.Width := GetSystemMetrics(SM_CXSCREEN);    {Screen.Width}
  B.Height := GetSystemMetrics(SM_CYSCREEN);   {Screen.Height}
  BitBlt(B.Canvas.handle, 0, 0, B.Width, B.Height, GetDc(0), 0, 0, SRCCOPY);
  b.SaveToFile('ctemp.bmp');
  b.Free;
  Img.Picture.LoadFromFile('ctemp.bmp');
end;

Peeeeeeeeeeeero, como supongo que lazarus no te deja hacer llamadas al sistema, para poder hacer un cross plataform perfecto, como puedo hacer una captura de la pantalla, sin hacer llamadas al sistema?

Basicamente, como puedo reescrivir esto:
Código Delphi [-]
  B.Width := GetSystemMetrics(SM_CXSCREEN);    {Screen.Width}
  B.Height := GetSystemMetrics(SM_CYSCREEN);   {Screen.Height}
  BitBlt(B.Canvas.handle, 0, 0, B.Width, B.Height, GetDc(0), 0, 0, SRCCOPY);

Desde ya, gracias.

Saludos

PD: Si les interesa saver como quedo aquel capturador de pantalla que estaba haciendo con delphi, aqui tiene el link:
Chameleon Capturer

Última edición por jorge1987 fecha: 13-09-2006 a las 09:56:57.
Responder Con Cita