You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DXGI Output Duplication与Direct3D捕获桌面时图像数据全为0的问题求助

DXGI Output Duplication与Direct3D捕获桌面时图像数据全为0的问题求助

大家好,我最近在开发一个用C#结合DXGI Output Duplication和Direct3D实现的桌面截图应用。目前已经完成了DXGI初始化、Direct3D设备创建、输出复制的初始化流程,也能正常捕获到帧,但捕获到的图像数据全是0,保存出来的PNG文件是全黑的,完全没有实际的桌面内容。

下面是我应用的部分代码(核心初始化逻辑已实现,适配器枚举部分还在编写中):

using Silk.NET.Core.Native;
using Silk.NET.Direct3D11;
using Silk.NET.DXGI;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;

namespace TestApp;

public class Program
{
    public const int DXGI_ERROR_NOT_FOUND = unchecked((int)0x887A0002);

    public unsafe static void Main()
    {
        Console.WriteLine("Initializing DXGI...");

        using var dxgi = DXGI.GetApi();
        using var factory = dxgi.CreateDXGIFactory1<IDXGIFactory1>();

        Console.WriteLine("DXGI Factory created.");

        Console.WriteLine("Enumerating adapters and find...");
        // 后续适配器枚举、设备创建及输出复制逻辑已实现,但未贴全
    }
}

我已经确认DXGI工厂能正常创建,设备初始化也没报错,但就是拿不到有效的图像数据,实在卡在这里了,有没有大佬能帮我排查下问题?麻烦大家指点一下!

备注:内容来源于stack exchange,提问作者vitkuz573

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 10:18:03