VideoFrame.CreateAsDirect3D11SurfaceBacked 方法

定义

重载

CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat, Int32, Int32)

创建 VideoFrame 类的新实例,图像数据存储在默认 Direct3D 设备分配的 IDXGISurface 中。

CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat, Int32, Int32, IDirect3DDevice)

创建 VideoFrame 类的新实例,图像数据存储在提供的 Direct3D 设备分配的 IDXGISurface 中。

CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat, Int32, Int32)

创建 VideoFrame 类的新实例,图像数据存储在默认 Direct3D 设备分配的 IDXGISurface 中。

public:
 static VideoFrame ^ CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height);
/// [Windows.Foundation.Metadata.Overload("CreateAsDirect3D11SurfaceBacked")]
 static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat const& format, int const& width, int const& height);
[Windows.Foundation.Metadata.Overload("CreateAsDirect3D11SurfaceBacked")]
public static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height);
function createAsDirect3D11SurfaceBacked(format, width, height)
Public Shared Function CreateAsDirect3D11SurfaceBacked (format As DirectXPixelFormat, width As Integer, height As Integer) As VideoFrame

参数

format
DirectXPixelFormat

DirectXPixelFormat 枚举中的值,指定所创建 VideoFrame 的像素格式。 并非所有像素格式都受支持。 有关详细信息,请参阅备注部分。

width
Int32

int

创建的 VideoFrame 的宽度(以像素为单位)。

height
Int32

int

创建 的视频帧的高度(以像素为单位)。

返回

视频帧

属性

Windows 要求

设备系列
Windows 10, version 1803 (在 10.0.17134.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v6.0 中引入)

注解

VideoFrame 支持 DirectXPixelFormat 枚举中定义的以下像素格式。

  • DirectXPixelFormat_R16G16B16A16UIntNormalized
  • DirectXPixelFormat_R8G8B8A8UIntNormalized
  • DirectXPixelFormat_B8G8R8X8UIntNormalized
  • DirectXPixelFormat_B8G8R8A8UIntNormalized
  • DirectXPixelFormat_NV12
  • DirectXPixelFormat_P010
  • DirectXPixelFormat_Yuy2
  • DirectXPixelFormat_R16UIntNormalized
  • DirectXPixelFormat_R8UIntNormalized

所有其他格式均不受支持。 尝试使用不受支持的格式创建 VideoFrame 将导致方法失败并出现 COM 异常。

此方法的重载 CreateAsDirect3D11SurfaceBacked 允许您提供用于分配视频帧的后备图面的 IDirect3DDevice

适用于

CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat, Int32, Int32, IDirect3DDevice)

创建 VideoFrame 类的新实例,图像数据存储在提供的 Direct3D 设备分配的 IDXGISurface 中。

public:
 static VideoFrame ^ CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height, IDirect3DDevice ^ device);
/// [Windows.Foundation.Metadata.Overload("CreateAsDirect3D11SurfaceBackedWithDevice")]
 static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat const& format, int const& width, int const& height, IDirect3DDevice const& device);
[Windows.Foundation.Metadata.Overload("CreateAsDirect3D11SurfaceBackedWithDevice")]
public static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height, IDirect3DDevice device);
function createAsDirect3D11SurfaceBacked(format, width, height, device)
Public Shared Function CreateAsDirect3D11SurfaceBacked (format As DirectXPixelFormat, width As Integer, height As Integer, device As IDirect3DDevice) As VideoFrame

参数

format
DirectXPixelFormat

DirectXPixelFormat 枚举中的值,指定所创建 VideoFrame 的像素格式。 并非所有像素格式都受支持。 有关详细信息,请参阅备注部分。

width
Int32

int

创建的 VideoFrame 的宽度(以像素为单位)。

height
Int32

int

创建 的视频帧的高度(以像素为单位)。

device
IDirect3DDevice

用于分配视频帧的后备图面的 IDirect3DDevice

返回

视频帧

属性

Windows 要求

设备系列
Windows 10, version 1803 (在 10.0.17134.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v6.0 中引入)

注解

VideoFrame 支持 DirectXPixelFormat 枚举中定义的以下像素格式。

  • DirectXPixelFormat_R16G16B16A16UIntNormalized
  • DirectXPixelFormat_R8G8B8A8UIntNormalized
  • DirectXPixelFormat_B8G8R8X8UIntNormalized
  • DirectXPixelFormat_B8G8R8A8UIntNormalized
  • DirectXPixelFormat_NV12
  • DirectXPixelFormat_P010
  • DirectXPixelFormat_Yuy2
  • DirectXPixelFormat_R16UIntNormalized
  • DirectXPixelFormat_R8UIntNormalized

所有其他格式均不受支持。 尝试使用不受支持的格式创建 VideoFrame 将导致方法失败并出现 COM 异常。

如果 device 参数为 null,则使用默认 Direct3D 设备分配 IDXGISurface

适用于