捕获表单和表单上元素的屏幕截图
本文关键字:表单 屏幕截图 元素 | 更新日期: 2023-09-27 18:00:29
我正在尝试捕获主窗口和主窗口内容的屏幕截图。主窗口有时会在其他元素后面,需要在没有其他覆盖元素的情况下进行屏幕捕捉。此代码当前返回一个没有任何内容的空白MainWindow窗体的位图。表单有一堆不同的动态UI元素。如何获取MainWindow及其内容的当前屏幕截图/捕获?MainWindow内容的代码发布时间很长,所以我希望这已经足够了。
Rectangle bounds = new Rectangle();
bounds.Width = Program.MainWindow.Width;
bounds.Height = Program.MainWindow.Height;
screenShot = new Bitmap(Program.MainWindow.Width,
Program.MainWindow.Height,
PixelFormat.Format32bppRgb);
Program.MainWindow.DrawToBitmap(screenShot, bounds);
您应该能够通过使用Graphics
类的CopyFromScreen
方法来获得它
Rectangle bounds = Program.MainWindow.Bounds;
Bitmap b = new Bitmap(bounds.Width, bounds.Height, PixelFormat.Format32bppArgb);
using (Graphics g = Graphics.FromImage(b))
{
g.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy);
}
b.Save("YOUR FILE NAME HERE");