Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Código para hacer una captura de pantalla (https://www.clubdelphi.com/foros/showthread.php?t=64973)

snakesskaters 12-11-2009 18:03:58

Código para hacer una captura de pantalla
 
Tengo el siguiente código que hace una captura de pantalla de la aplicación que este por debajo del form:

procedure TForm1.timer3Timer(Sender: TObject);
var handlePantalla : hdc;

begin

//ocultamos el formulario de la
//aplicación para que no aparezca
hide;

//image6.autosize := false;
//sleep(1000); //esperamos un segundo


image6.picture := nil; //eliminamos el contenido del image1 actual

//establecemos el tamaño de image1 al tamaño de la resolución de la pantalla
/// image6.SetBounds(0, 0, screen.width, screen.height);

handlePantalla := GetDesktopWindow; //obtenemos el handle de la pantalla

//copiamos la captura a image1, mediante la función BitBlt
BitBlt(image6.Canvas.handle, 0, 0, screen.width, screen.Height,
getdc(handlePantalla), 0, 0, srcCopy);

ReleaseDC(0, handlePantalla); //liberamos el objeto

show;
image6.autosize := true;



timer3.Enabled := false;
end;
-------------------------------------

El problema es que me guarda una imagen que es una porción de un cuarto de lo que en realidad es la imagen real. Me podéis decir como puedo modificar el código para que la imagen que muestro en un "image6" de la form sea proporcional. He probado con proportional := true. El código original no es mio.

Gracias!

rgstuamigo 12-11-2009 19:03:25

Chequea esto.;)
Saludos..:)

rgstuamigo 12-11-2009 19:42:11

Otra opcion es simular el presionado de la tecla que imprime la pantalla..eso puede lograrse con la API keybd_event() aunque segun se ve ahí, que dicha API ha sido sustituida por esta otra API SendInput , pero eso no quiere decir que la primera no funcione...;).
Saludos...:)

Neftali [Germán.Estévez] 13-11-2009 11:09:25

Si miras la sección de trucos de la página, verás que hay un par para realizar capturas de pantralla (link, link).
Si realizas una búsqueda también deberías obtener varios hilos, ya que es un tema que ya hemos tratado antes.


La franja horaria es GMT +2. Ahora son las 08:06:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi