miércoles, 28 de marzo de 2012

Capturar pantalla en .Net

Se me acaba de presentar el requerimiento de capturar la pantalla desde mi código en .Net y quiero compartirles la forma en que logré capturar pantallazos o capturar el escritorio con .Net

Deben descargar esta clase para c# o bien esta otra para vb.  Y la manera de usarla es muy sencilla:

//Declaramos una instancia de nuestra clase
ScreenCapture sc = new ScreenCapture();

//Capturamos toda la pantalla y la asignamos a una variable de tipo Image
Image img = sc.CaptureScreen();

//Asignamos la variable de imagen a un PictureBox
this.Pantalla.Image = img;

//Ahora capturamos esta ventana y la grabamos en un archivo GIF
sc.CaptureWindowToFile(this.Handle,"C:\\temp1.gif",ImageFormat.Gif);

//También podemos capturar la pantalla completa y grabarla en un archivo GIF
sc.CaptureScreenToFile("C:\\temp2.gif",ImageFormat.Gif);

Y listo!!!

Espero que les pueda ser de gran utilidad para grabar la ventana o la pantalla con .Net

1 comentario:

  1. Hola que tal mira yo uso este codigo como lo vez??
    Solo mando a llamar al evento en el Button
    public void Screenshot()
    {
    Bitmap bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
    Graphics gfxScreenshot = Graphics.FromImage(bmpScreenshot);
    gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
    bmpScreenshot.Save(FileName, ImageFormat.Png);
    }

    ResponderEliminar