D2D1_RENDER_TARGET_PROPERTIES 结构 (d2d1.h)
包含呈现选项 (呈现目标的硬件或软件) 、像素格式、DPI 信息、远程处理选项和 Direct3D 支持要求。
语法
typedef struct D2D1_RENDER_TARGET_PROPERTIES {
D2D1_RENDER_TARGET_TYPE type;
D2D1_PIXEL_FORMAT pixelFormat;
FLOAT dpiX;
FLOAT dpiY;
D2D1_RENDER_TARGET_USAGE usage;
D2D1_FEATURE_LEVEL minLevel;
} D2D1_RENDER_TARGET_PROPERTIES;
成员
type
一个 值,该值指定呈现目标应强制硬件呈现还是软件呈现。 值 D2D1_RENDER_TARGET_TYPE_DEFAULT 指定呈现目标应使用硬件呈现(如果可用);否则,它使用软件呈现。 请注意,WIC 位图呈现目标不支持硬件呈现。
pixelFormat
呈现目标的像素格式和 alpha 模式。 可以使用 D2D1::P ixelFormat 函数创建像素格式,该格式指定 Direct2D 应为你选择像素格式和 alpha 模式。 有关每个呈现目标支持的像素格式和 alpha 模式的列表,请参阅 支持的像素格式和 Alpha 模式。
dpiX
类型: FLOAT
呈现器目标的水平 DPI。 若要使用默认 DPI,请将 dpiX 和 dpiY 设置为 0。 有关详细信息,请参见“备注”部分。
dpiY
类型: FLOAT
呈现目标的垂直 DPI。 若要使用默认 DPI,请将 dpiX 和 dpiY 设置为 0。 有关详细信息,请参见“备注”部分。
usage
一个 值,该值指定呈现器目标的远程处理方式以及它是否应与 GDI 兼容。 设置为 D2D1_RENDER_TARGET_USAGE_NONE 以创建与 GDI 不兼容的呈现目标,并使用 Direct3D 命令流远程处理(如果可用)。
minLevel
一个 值,该值指定硬件呈现所需的最低 Direct3D 功能级别。 如果指定的最低级别不可用,则呈现器目标使用软件呈现(如果 类型 成员设置为 D2D1_RENDER_TARGET_TYPE_DEFAULT);如果 type 设置为 D2D1_RENDER_TARGET_TYPE_HARDWARE,则呈现器目标创建失败。 值为 D2D1_FEATURE_LEVEL_DEFAULT 指示 Direct2D 应确定设备的 Direct3D 功能级别是否足够。 此字段仅在创建 ID2D1HwndRenderTarget 和 ID2D1DCRenderTarget 对象时使用。
注解
创建呈现器目标时使用此结构,或将其与 ID2D1RenderTarget::IsSupported 方法一起使用,以检查现有呈现目标支持的属性。
为方便起见,Direct2D 提供 D2D1::RenderTargetProperties 帮助程序函数,用于创建 D2D1_RENDER_TARGET_PROPERTIES 结构。 创建适用于大多数呈现目标的 D2D1_RENDER_TARGET_PROPERTIES 结构的一种简单方法是在不指定任何参数的情况下调用函数。 这样做会创建一个 D2D1_RENDER_TARGET_PROPERTIES 结构,其字段设置为默认值。 有关详细信息,请参阅 D2D1::RenderTargetProperties。
并非所有呈现目标都支持硬件呈现。 有关列表,请参阅 呈现目标概述。
使用默认 DPI 设置
若要使用默认 DPI,请将 dpiX 和 dpiY 设置为 0。 默认 DPI 因呈现目标而异:- 对于兼容的呈现目标,默认 DPI 是父呈现目标的 DPI。
- 对于 ID2D1HwndRenderTarget,默认 DPI 是从呈现器目标的 ID2D1Factory 获取的系统 DPI。
- 对于其他呈现目标,默认 DPI 为 96。
示例
以下示例使用 D2D1::RenderTargetProperties 函数创建适用于大多数呈现目标的 D2D1_RENDER_TARGET_PROPERTIES 结构。
RECT rc;
GetClientRect(m_hwnd, &rc);
D2D1_SIZE_U size = D2D1::SizeU(
rc.right - rc.left,
rc.bottom - rc.top
);
// Create a Direct2D render target.
hr = m_pD2DFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(m_hwnd, size),
&m_pRenderTarget
);
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用] |
标头 | d2d1.h |