1

基本上,我想在 3d 交换链上进行 2d 绘图。但是我的代码注入了另一个程序,我没有源代码。

我可以画图,但它仅在使用 DXGI_FORMAT_B8G8R8A8_UNORM (BGR) 格式创建交换链时才有效。

最初,该程序使用 DXGI_FORMAT_R8G8B8A8_UNORM (RGB),当我将其切换到 BGR 时,程序渲染到窗口/屏幕之外。几乎所有东西都更大。

有没有办法使用 RGB 将 Direct3D 11 与 2D 互操作,或者使应用程序渲染与 BGR 正确工作?

4

1 回答 1

0

如果交换链是使用 DXGI_FORMAT_R8G8B8A8_UNORM 格式创建的,那么您只需确保传递给呈现目标的 CreateBitmapFromDxgiSurface 方法的 Direct2D 位图属性也指定相同的 DXGI_FORMAT_R8G8B8A8_UNORM 像素格式。

于 2013-01-17T16:26:57.613 回答