using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows;
namespace SmartMouse
{
internal class GetScreen
{
public static void InitScreen()
{
//return;
// 获取屏幕对象
Screen screen = Screen.PrimaryScreen;
// 获取屏幕的Dpi缩放比例
//double dpiX = screen.DpiX;
//double dpiY = screen.DpiY;
// 获取屏幕的宽度和高度
double width = Screen.PrimaryScreen.Bounds.Width;///
width = SystemParameters.PrimaryScreenWidth;
width = Screen.PrimaryScreen.Bounds.Width;
double height = Screen.PrimaryScreen.Bounds.Height;// /
height = SystemParameters.PrimaryScreenHeight;
height = Screen.PrimaryScreen.Bounds.Height;
// 获取屏幕大小
bounds = new Rectangle(0, 0, (int)width, (int)height);
// 创建一个Bitmap对象并将其设置为屏幕大小
bitmap = new Bitmap(bounds.Width, bounds.Height);
}
static Rectangle bounds;
static Bitmap bitmap;
public static Bitmap CaptureScreen()
{
try
{
// 创建一个Graphics对象并将其设置为bitmap
Graphics g = Graphics.FromImage(bitmap);
// 将整个屏幕绘制到Graphics对象中
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
// 将截图保存为文件
//bitmap.Save("screenshot.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception)
{
//bitmap = null;
}
return bitmap;
//Console.WriteLine("屏幕截图已保存");
}
}
}
然后调用
Image image;
while (true)
{
System.Threading.Thread.Sleep(30);
image = GetScreen.CaptureScreen();
pictureBox1.Invoke(new Action(() =>
{
pictureBox1.Image = image;
}));
}