C# 屏幕截图不包含整个屏幕

问题描述 投票:0回答:1

我有这个控制台应用程序,可以制作屏幕截图并保存它,但是当我打开图像时,它不会捕获所有屏幕。如何获得完整的 1980x1080 屏幕图像 Screenshot that I got

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;
        }
    }
}
c# image screenshot emgucv
1个回答
0
投票

是的,这是 Windows 屏幕尺寸的问题。它被缩放为 1.25 倍。所以我将 Screen.PrimaryScreen.Bound 的宽度和高度值乘以 1.25。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.