我有这个控制台应用程序,可以制作屏幕截图并保存它,但是当我打开图像时,它不会捕获所有屏幕。如何获得完整的 1980x1080 屏幕图像
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using System;
using System.Drawing;
using System.Windows.Forms;
namespace ScreenCaptureExample
{
class Program
{
static void Main(string[] args)
{
Bitmap screenshot = CaptureScreen();
screenshot.Save("D:\\ThisScreenshot.png");
screenshot.Dispose();
Console.WriteLine($"Screenshot has been created.");
}
static Bitmap CaptureScreen()
{
Rectangle screenSize = Screen.PrimaryScreen.Bounds;
Bitmap screenshot = new Bitmap(screenSize.Width, screenSize.Height);
using (Graphics gfx = Graphics.FromImage(screenshot))
{
gfx.CopyFromScreen(screenSize.X, screenSize.Y, 0, 0, screenSize.Size);
}
return screenshot;
}
}
}
是的,这是 Windows 屏幕尺寸的问题。它被缩放为 1.25 倍。所以我将 Screen.PrimaryScreen.Bound 的宽度和高度值乘以 1.25。