gpt4 book ai didi

c# - WPF - Graphics.CopyFromScreen 返回黑色图像

转载 作者:可可西里 更新时间:2023-11-01 09:09:34 32 4
gpt4 key购买 nike

以下方法取自 WinForms 应用程序。它只是捕获屏幕,但我需要修改它才能在 WPF 应用程序中工作。当我使用它时,它返回一个黑色图像。尺寸正确。我没有任何打开的 DirectX 或视频,即使在我的桌面上也无法运行。

    public static Bitmap CaptureScreen()
{
// Set up a bitmap of the correct size

Bitmap CapturedImage = new Bitmap((int)SystemParameters.VirtualScreenWidth,
(int)SystemParameters.VirtualScreenHeight, System.Drawing.Imaging.PixelFormat.Format32bppArgb);

// Create a graphics object from it
System.Drawing.Size size = new System.Drawing.Size((int)SystemParameters.VirtualScreenWidth, (int)SystemParameters.VirtualScreenHeight);

using (Graphics g = Graphics.FromImage(CapturedImage))
{
// copy the entire screen to the bitmap
g.CopyFromScreen((int)SystemParameters.VirtualScreenWidth, (int)SystemParameters.VirtualScreenHeight, 0, 0,
size, CopyPixelOperation.SourceCopy);
}
return CapturedImage;
}

谁能告诉我错误的地方?

最佳答案

我相信您需要使用 Interop 和 BitBlt 方法。 This blog解释了这是如何完成的,以及 follow-on post这显示了如何获取窗口边框。

关于c# - WPF - Graphics.CopyFromScreen 返回黑色图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5708985/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com