2008-12-29 40 views
19

¿Hay alguna manera de grabar la pantalla, ya sea de escritorio o de ventana, utilizando tecnologías .NET.Grabe el video de la pantalla usando las tecnologías .NET

Mi objetivo es algo gratis. Me gusta la idea del uso de la CPU pequeña y pequeña, y simple, pero consideraría otras opciones si crearan un mejor producto final.

En pocas palabras, sé cómo tomar una captura de pantalla en C#, pero ¿cómo puedo grabar la pantalla, o el área de la pantalla, como un video?

¡Muchas gracias por sus ideas y tiempo!

Respuesta

20

No hay necesidad de una DLL de terceros. Este sencillo método captura la imagen de la pantalla actual en un objeto .NET Bitmap.

private Image CaptureScreen() 
    { 
     Rectangle screenSize = Screen.PrimaryScreen.Bounds; 
     Bitmap target = new Bitmap(screenSize.Width,screenSize.Height); 
     using(Graphics g = Graphics.FromImage(target)) 
     { 
      g.CopyFromScreen(0,0,0,0,new Size(screenSize.Width,screenSize.Height)); 
     } 
     return target; 
    } 

Estoy seguro de que puede encontrar la manera de capturar una porción más pequeña de la pantalla, si lo que se necesita :-).

+2

Gracias, lo siento, no lo he aclarado lo suficiente, que quiero grabar el video de la pantalla. –

+0

video es solo un montón de fotogramas juntos, puede tomar estas instantáneas y crear un AVI con bastante facilidad. –

+1

http://www.adp-gmbh.ch/csharp/avi/write_avi.html –

2

Hay una DLL que puede hacerlo. No recuerdo el nombre, pero es usado por Jing. Un amigo mío implementó una grabadora de pantalla en solo unos minutos usando esa DLL, solo para probarla. Echa un vistazo a Jing y probablemente encontrarás el dll que usan.

+0

Estoy tratando de revisar el proyecto jing. Me dieron la impresión de que jing tiene un límite en la duración de la grabación que puedes hacer. Tal vez ese límite está integrado en el dll del que está hablando. Además, puede que no esté en gpl/lgpl, por lo que puede no ser "gratuito" estrictamente hablando. –

+0

En el acuerdo de licencia jing: Separación de componentes: [...] Sus componentes no pueden separarse para su uso [...]. Mi consejo: estar seguro. intente buscar en google para: captura de pantalla C# –

+0

Solo asegúrese de que todos entiendan el objetivo es grabar video de la pantalla, y no una captura de pantalla de mapa de bits simple. –

3

Puede usar Windows media Encoder SDK para crear una aplicación C# para grabar la pantalla. Hay opciones incorporadas para registrar todo el escritorio, una ventana en particular o una parte de la pantalla.

0

Puede utilizar Media Encoder SDK pero no es compatible con Windows 7.

-1

Puede intentar esta utilidad de código abierto: ScreenRecord (http://screenrecord.codeplex.com/) se basa en AForge.NET

+1

Las respuestas del enlace solo se deben publicar como comentarios. En cualquier caso, si algún día el enlace cambia, su respuesta será inválida. Al menos mencione el nombre de la utilidad en la respuesta para que pueda buscarse incluso si el enlace falla. – NSNoob

Cuestiones relacionadas