C# · 12月 26, 2021

c# – 从第二个屏幕截图

嗨,我正在开发一个用户可以截取屏幕截图的程序.用户可以选择是否要从屏幕1,2,3或4中截取屏幕截图.我知道如何从第一个屏幕中取出第一个屏幕截图,但是如何从屏幕2,3和4中获取图像?

我的代码从第一个屏幕获取截图如下所示:

private void btnScreenOne_Click(object sender,EventArgs e) { Bitmap bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height); Graphics graphics = Graphics.FromImage(bitmap as Image); graphics.CopyFromScreen(0,bitmap.Size); bitmap.Save(@”C:\Users\kraqr\Documents\PrintScreens\” + DateTime.Now.ToString(“yyyy-MM-dd_HH-mm-ss”) + ” Screen1″ + “.bmp”,ImageFormat.Bmp);}

感谢答案.

解决方法 Screen类具有一个静态属性AllScreens,它为您提供一系列屏幕.那些对象有一个Bounds属性,你可以肯定地使用…

长篇小说:您使用所需屏幕的大小来初始化位图(不要使用主屏幕,因为这只是主要的,顾名思义),然后将适当的边界传递给CopyFromScreen.