我目前正在使用一个函数库,该函数需要我捕获屏幕,包括生成它的应用程序wpf应用程序。出现的问题是当函数执行时(底部的代码),保存的图像忽略了应用程序,例如,它的图标仍在任务栏上,但它不可见,但其他窗口“在它后面”。我一直无法改变它,以便应用程序本身在图像的中心位于前面,即使它应该是无关紧要的。
using (Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height))
{
Thread.Sleep(1000);
using (Graphics graphics = Graphics.FromImage(printscreen as Image))
{
graphics.CopyFromScreen(0, 0, 0, 0, printscreen.Size);
printscreen.Save(FilePath, ImageFormat.Jpeg);
}
}
非常感谢任何帮助。
编辑: 好吧......奇怪的是,在重新启动计算机之后,代码工作正常,我的所有同胞都在机器上工作,我不确定之前是什么造成了问题,但似乎不再存在。
答案 0 :(得分:0)
我在控制台应用中尝试了此代码,但我发现没有问题。确保在进行CopyFromScreen()调用时,应用程序的窗口不会最小化并且可见。
答案 1 :(得分:0)
嗯......奇怪的是,在重新启动计算机之后,代码工作正常,我的所有同胞都在机器上工作,我不确定之前是什么造成了问题,但似乎没有存在的时间更长。