不允许将DXGI_FORMAT_UNKNOWN作为此 API 的参数。
可能的原因
对于接受表面格式作为参数的 Direct2D 功能,应完全指定图面格式。 在某些情况下,它可能保持未知;例如,调用 ID2D1RenderTarget::CreateHwndRenderTarget 或 ID2D1RenderTarget::CreateDxgiSurfaceRenderTarget 时,Direct2D 可能会从交换链格式或支持 Direct3D 图面格式推断表面格式,如情况所示。
可能的修复方法
如果无法推断图面格式,Direct2D 将不会创建资源,并且将输出此消息。 若要解决此问题,请修改应用程序,为导致此消息的作指定未知以外的图面格式。 使用合理的默认图面格式(如果存在疑问)是DXGI_FORMAT_B8G8R8A8_UNORM。 如果应用程序必须创建 Direct2D 资源才能与 Direct3D 或 WIC 资源进行互作,请选择与已互作的资源匹配的格式。 WIC 资源的语义与 DXGI 资源略有不同:有关其他指南,请参阅 支持的像素格式和 Alpha 模式 。