2010-09-16 2 views
5

Y a-t-il une bonne bibliothèque que je peux utiliser dans C# pour prendre une capture d'écran/instantané?Bibliothèque C# pour prendre des captures d'écran?

Un où je peux faire glisser et déposer une région de mon écran, pour prendre une capture d'écran/instantané de celui-ci?

Répondre

5

Je ne suis pas au courant de toutes les bibliothèques qui vous permettent de sélectionner visuellement une région à l'écran, mais une capture d'écran de votre écran entier peut être pris en utilisant la méthode Graphics.CopyFromScreen comme suit:

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

Utilisez le code Au-dessus, lancez une forme sans frontières, la plus haute, avec cette capture d'écran complète que vous venez de faire. Permettre à l'utilisateur de dessiner sa zone sur le formulaire. Puis traduisez les coordonnées qu'ils spécifient en un recadrage de l'image complète. –

Questions connexes