2010-09-16 25 views
5

¿Existe una buena biblioteca que pueda usar en C# para tomar una captura de pantalla/instantánea?C# biblioteca para tomar capturas de pantalla?

¿Uno donde puedo arrastrar y soltar una región de mi pantalla, para tomar una captura de pantalla/instantánea de la misma?

Respuesta

5

No estoy al tanto de ninguna biblioteca que le permiten seleccionar visualmente una región en la pantalla, pero una captura de pantalla de toda la pantalla se pueden tomar usando el método Graphics.CopyFromScreen de la siguiente manera:

var bounds = Screen.PrimaryScreen.Bounds; 
using (var bmp = new Bitmap(bounds.Width, 
          bounds.Height, 
          PixelFormat.Format32bppArgb)) 
using (var gfx = Graphics.FromImage(bmp)) 
{ 
    gfx.CopyFromScreen(bounds.X, 
         bounds.Y, 
         0, 
         0, 
         bounds.Size, 
         CopyPixelOperation.SourceCopy); 
    bmp.Save("shot.png"); 
} 
+2

utilizar el Código arriba, arroje una forma sin bordes, en la parte superior con la captura de pantalla completa que acaba de hacer. Permitir al usuario dibujar su área en el formulario. Luego, traduzca las coordenadas que especifican en un recorte de la imagen completa. –

Cuestiones relacionadas