2009-04-03 11 views
5

Je souhaite ajouter la possibilité pour les utilisateurs de capturer l'écran actuel dans mon application et de l'envoyer par courrier électronique. J'ai une base d'utilisateurs très technique, donc j'ai besoin que ce soit aussi simple que possible. Je prévois de les laisser cliquer sur un élément du menu appelé Aidez-moi! qui capturera alors l'écran actuel d'application, heureusement comme jpg ou png, puis ouvrira Outlook et ajoutera l'image en pièce jointe. Je lisais cet article ScreenCapture sur Code Project, mais il est un peu vieux et n'est pas exactement ce que je cherchais donc j'ai pensé que je verrais s'il y a une meilleure façon de le faire.Comment capturer l'écran en cours en tant qu'image?

Comment commencer? Y a-t-il une bibliothèque ou les capacités intégrées sont-elles suffisantes?

Merci!

Répondre

12

Ce post que vous avez lié est la bonne approche, ils l'ont rendu très complexe. Vous voudriez utiliser Graphics.CopyFromScreen.

Rectangle bounds = this.Bounds; 

using(Bitmap ss = new Bitmap(bounds.Width, bounds.Height)) 
using(Graphics g = Graphics.FromImage(ss)) 
{ 
    g.CopyFromScreen(this.Location, Point.Empty, bounds.Size); 
    ss.Save("test.jpg", ImageFormat.Jpeg); 
} 
+0

petite faute de frappe -> Ligne 4 -> Graphics.FromImage (ss)) brillant! –

+0

@Mr_Mom: Merci, corrigé. – Samuel

Questions connexes