基本上,我想在3D交换链上进行2D绘图。但我的代码注入另一个程序,我没有源代码。
我可以进行绘图,但只有在使用DXGI_FORMAT_B8G8R8A8_UNORM(BGR)格式创建交换链时才有效。
原来,程序使用DXGI_FORMAT_R8G8B8A8_UNORM(RGB),当我将其切换到BGR时,程序会在窗口/屏幕旁边渲染。几乎所有东西都更大。
有没有办法使用RGB将Direct3D 11与2D互操作或者使用BGR使应用程序渲染正常工作?
答案 0 :(得分:0)
如果使用DXGI_FORMAT_R8G8B8A8_UNORM格式创建交换链,则只需确保传递给渲染目标的CreateBitmapFromDxgiSurface方法的Direct2D位图属性也指定相同的DXGI_FORMAT_R8G8B8A8_UNORM像素格式。