ID2D1Factory 接口 (d2d1.h)
创建 Direct2D 资源。
继承
ID2D1Factory 接口继承自 IUnknown 接口。 ID2D1Factory 还具有以下类型的成员:
方法
ID2D1Factory 接口具有这些方法。
ID2D1Factory::CreateDCRenderTarget 创建绘制到 Windows 图形设备接口的呈现目标 (GDI) 设备上下文。 |
ID2D1Factory::CreateDrawingStateBlock 创建可与呈现目标的 SaveDrawingState 和 RestoreDrawingState 方法一起使用的 ID2D1DrawingStateBlock。 (重载 1/3) |
ID2D1Factory::CreateDrawingStateBlock 创建可与呈现目标的 SaveDrawingState 和 RestoreDrawingState 方法一起使用的 ID2D1DrawingStateBlock。 (重载 2/3) |
ID2D1Factory::CreateDrawingStateBlock 创建可与呈现目标的 SaveDrawingState 和 RestoreDrawingState 方法一起使用的 ID2D1DrawingStateBlock。 (重载 3/3) |
ID2D1Factory::CreateDxgiSurfaceRenderTarget 创建绘制到 DirectX 图形基础结构 (DXGI) 图面的呈现目标。 (重载 1/2) |
ID2D1Factory::CreateDxgiSurfaceRenderTarget 创建绘制到 DirectX 图形基础结构 (DXGI) 图面的呈现目标。 (重载 2/2) |
ID2D1Factory::CreateEllipseGeometry 创建 ID2D1EllipseGeometry。 (重载 2/2) |
ID2D1Factory::CreateEllipseGeometry 创建 ID2D1EllipseGeometry。 (重载 1/2) |
ID2D1Factory::CreateGeometryGroup 创建 ID2D1GeometryGroup,该组是保存其他几何图形的对象。 |
ID2D1Factory::CreateHwndRenderTarget 创建 ID2D1HwndRenderTarget,这是呈现到窗口的呈现目标。 (重载 2/2) |
ID2D1Factory::CreateHwndRenderTarget 创建 ID2D1HwndRenderTarget,这是呈现到窗口的呈现目标。 (重载 1/2) |
ID2D1Factory::CreatePathGeometry 创建空 ID2D1PathGeometry。 |
ID2D1Factory::CreateRectangleGeometry 创建 ID2D1RectangleGeometry。 (重载 2/2) |
ID2D1Factory::CreateRectangleGeometry 创建 ID2D1RectangleGeometry。 (重载 1/2) |
ID2D1Factory::CreateRoundedRectangleGeometry 创建 ID2D1RoundedRectangleGeometry。 (重载 2/2) |
ID2D1Factory::CreateRoundedRectangleGeometry 创建 ID2D1RoundedRectangleGeometry。 (重载 1/2) |
ID2D1Factory::CreateStrokeStyle 创建一个 ID2D1StrokeStyle,用于描述笔划的起始大写、短划线图案和其他功能。 (重载 2/2) |
ID2D1Factory::CreateStrokeStyle 创建一个 ID2D1StrokeStyle,用于描述笔划的起始大写、短划线图案和其他功能。 (重载 1/2) |
ID2D1Factory::CreateTransformedGeometry 转换指定的几何图形,并将结果存储为 ID2D1TransformedGeometry 对象。 (重载 2/2) |
ID2D1Factory::CreateTransformedGeometry 转换指定的几何图形,并将结果存储为 ID2D1TransformedGeometry 对象。 (重载 1/2) |
ID2D1Factory::CreateWicBitmapRenderTarget 创建呈现器目标,该目标呈现到 Microsoft Windows 图像处理组件 (WIC) 位图。 (重载 2/2) |
ID2D1Factory::CreateWicBitmapRenderTarget 创建呈现器目标,该目标呈现到 Microsoft Windows 图像处理组件 (WIC) 位图。 (重载 1/2) |
ID2D1Factory::GetDesktopDpi 检索当前每英寸桌面点数 (DPI) 。 若要刷新此值,请调用 ReloadSystemMetrics。 |
ID2D1Factory::ReloadSystemMetrics 强制工厂刷新自工厂创建以来可能更改的任何系统默认值。 |
备注
ID2D1Factory 接口是使用 Direct2D 的起点;它是用于创建其他 Direct2D 资源的内容,可用于绘制或描述形状。
工厂定义一组可生成以下绘图资源的 CreateResource 方法:
- 呈现目标:呈现绘图命令的对象。
- 绘图状态块:存储绘图状态信息的对象,例如当前转换和抗锯齿模式。
- 几何图形:表示简单和可能复杂的形状的对象。
若要创建 ID2D1Factory,请使用 CreateFactory 方法之一。 只要使用 Direct2D 资源,就应保留 ID2D1Factory 实例;通常,在应用程序运行时不需要重新创建它。 有关 Direct2D 资源的详细信息,请参阅 资源概述。
单线程工厂和多线程工厂
创建工厂时,可以指定它是多线程还是单线程。 单线程工厂不提供针对 Direct2D 中任何其他单线程实例的序列化,因此,此机制在 CPU 上提供非常大规模的缩放。还可以创建多线程工厂实例。 在这种情况下,工厂和所有派生对象都可以从任何线程使用,每个呈现目标都可以独立呈现。 Direct2D 序列化对这些对象的调用,因此单个多线程 Direct2D 实例在 CPU 上的缩放不如多个单线程实例。 但是,资源可以在多线程实例中共享。
请注意,限定符“CPU 上”:GPU 通常比 CPU 更能利用细化并行度。 例如,在发送到 GPU 时,来自 CPU 的多线程调用可能最终仍会被序列化,但是,整个像素和顶点着色器将并行运行以执行呈现。
有关详细信息 ,请参阅多线程 Direct2D 应用 。
示例
以下代码片段声明工厂指针,创建单线程工厂实例,并使用工厂创建呈现目标。
ID2D1Factory* m_pDirect2dFactory;
// Create a Direct2D factory.
hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDirect2dFactory);
// Create a Direct2D render target.
hr = m_pDirect2dFactory->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 应用] |
目标平台 | Windows |
标头 | d2d1.h |
另请参阅
反馈
提交和查看相关反馈