C#库如何截屏?

5

有没有一个在C#中可以使用的好库,可以截取屏幕快照?

我希望可以拖动屏幕上的某个区域,以便对其进行截屏/快照?

1个回答

5

我不知道是否有任何库可以让您在屏幕上进行可视化区域选择,但是可以使用Graphics.CopyFromScreen方法来截取整个屏幕的截图,方法如下:

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
使用上面的代码,然后抛出一个无边框的顶层窗体,其中包含您刚刚制作的全屏截图。允许用户在表单上绘制他们的区域。然后将他们指定的坐标转换为完整图像的裁剪。 - Adrian Clark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接