Capture d'écran de la zone cible de l'ordinateur de bureau
Je suis en train de recréer un Winform application en C# qui a les mêmes fonctionnalités que l'outil capture windows. C'est, en permettant à l'utilisateur de faire glisser un rectangle au-dessus du bureau et de la capture de ce que jamais est à l'intérieur d'une image.
Pour le moment je n'ai que la possibilité de dessiner un rectangle avec la souris, et dans la winform. Quelqu'un peut-il m'indiquer la direction de la façon de le faire afin que je puisse le faire à l'intérieur de l'ensemble du bureau?
Mon code pour tracer le rectangle est comme suit:
Rectangle rect;
public Form1()
{
InitializeComponent();
//set the cursor to be a + sign
this.Cursor = System.Windows.Forms.Cursors.Cross;
this.DoubleBuffered = true;
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
//e.X and e.Y are used to get the X and Y pos of the mouse
rect = new Rectangle(e.X, e.Y, 0, 0);
this.Invalidate();
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
//draw rectangle as mouse moves
rect = new Rectangle(rect.Left,rect.Top, e.X - rect.Left, e.Y - rect.Top);
}
this.Invalidate();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
//Replace "Color.Red" with any color and repalce "2" with any size you like.
using (Pen pen = new Pen(Color.Red, 2))
{
e.Graphics.DrawRectangle(pen, rect);
}
}
}
J'ai été en regardant autour en ligne, mais mes recherches n'ont pas fourni de quoi que ce soit de l'utiliser encore.
Toute aide serait grandement appréciée.
- Regardez aussi la source de Greenshot
Vous devez vous connecter pour publier un commentaire.
Voir:
http://www.codeproject.com/Articles/485883/Create-your-own-Snipping-Tool
Et:
http://www.codeproject.com/Articles/21913/TeboScreen-Basic-C-Screen-Capture-Application
que les références de l'outil Capture de la création.
Espère que cette aide.
Voir:
http://everysolutionshere.blogspot.in/2014/01/how-to-capture-screen-in-c.html
J'espère que c'est utile pour vous.