wpf 获取屏幕截图
时间: 2023-12-08 12:02:05 浏览: 90
在WPF中获取屏幕截图可以通过使用System.Windows.Forms命名空间中的Screen类和Bitmap类来实现。首先需要导入System.Drawing命名空间以及System.Drawing.Imaging命名空间。然后可以使用Screen类的FromPrimaryScreen方法获取主屏幕的大小和位置,并创建一个矩形对象来表示整个屏幕的区域。接下来使用Bitmap类的FromScreen方法传入屏幕区域来创建一个位图对象,然后可以使用Graphics对象的CopyFromScreen方法将屏幕的内容拷贝到位图中。最后可以使用位图对象的Save方法将屏幕截图保存到本地文件中。
具体的代码实现如下:
```csharp
using System;
using System.Windows;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Imaging;
namespace WpfApplication
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void CaptureScreen()
{
Screen screen = Screen.FromPrimaryScreen();
Rectangle screenBounds = screen.Bounds;
Bitmap bitmap = new Bitmap(screenBounds.Width, screenBounds.Height, PixelFormat.Format32bppArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.CopyFromScreen(screenBounds.Left, screenBounds.Top, 0, 0, screenBounds.Size);
bitmap.Save("screenshot.png", ImageFormat.Png);
}
}
}
```
通过调用CaptureScreen方法就可以在WPF应用程序中获取屏幕截图并保存为本地文件。
阅读全文