001
001

Reputation: 65117

C# library to take screenshots?

Is there a good library I can use in c# to take a screenshot/snapshot?

One where I can drag and drop a region of my screen, to take a screenshot/snapshot of it?

Upvotes: 5

Views: 3405

Answers (1)

Nathan Baulch
Nathan Baulch

Reputation: 20683

I'm not aware of any libraries that allow you to visually select a region on your screen, but a screenshot of your whole screen can be taken using the Graphics.CopyFromScreen method as follows:

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");
}

Upvotes: 5

Related Questions