以下是 ID2D1DeviceContext1 接口的简要定义:
DECLARE_INTERFACE_(ID2D1DeviceContext1, ID2D1DeviceContext)
{
STDMETHOD(CreateFilledGeometryRealization)(
_In_ ID2D1Geometry *geometry,
FLOAT flatteningTolerance,
_Outptr_ ID2D1GeometryRealization **geometryRealization
) PURE;
STDMETHOD(CreateStrokedGeometryRealization)(
_In_ ID2D1Geometry *geometry,
FLOAT flatteningTolerance,
FLOAT strokeWidth,
_In_opt_ ID2D1StrokeStyle *strokeStyle,
_Outptr_ ID2D1GeometryRealization **geometryRealization
) PURE;
STDMETHOD(DrawGeometryRealization)(
_In_ ID2D1GeometryRealization *geometryRealization,
_In_ ID2D1Brush *brush
) PURE;
STDMETHOD(DrawTextLayout)(
D2D1_POINT_2F origin,
_In_ IDWriteTextLayout *textLayout,
_In_ ID2D1Brush *defaultFillBrush,
D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE
) PURE;
STDMETHOD(AddDevice)(
_In_ IDXGIDevice *device
) PURE;
STDMETHOD(RemoveDevice)(
_In_ IDXGIDevice *device
) PURE;
STDMETHOD(CreatePrintControl)(
_In_ IWICImagingFactory * wicFactory,
_In_ IPrintDocumentPackageTarget * target,
_Outptr_ IPrintControl ** printControl
) PURE;
};
主要方法:
- CreateFilledGeometryRealization: 创建一个表示填充几何图形的实现的对象。这可用于提高渲染性能,特别是在处理复杂几何图形时。
- CreateStrokedGeometryRealization: 创建一个表示描边几何图形的实现的对象。类似于填充几何图形的实现,这个方法用于提高描边几何的渲染性能。
- DrawGeometryRealization: 绘制通过 CreateFilledGeometryRealization 或 CreateStrokedGeometryRealization 创建的几何图形实现。
- DrawTextLayout: 绘制文本布局,可以指定文本的起始点、文本布局对象、默认的填充刷以及绘制选项。
- AddDevice 和 RemoveDevice: 用于在设备上下文中添加和移除与 Direct2D 设备上下文相关联的 DXGI 设备。
- CreatePrintControl: 创建一个 IPrintControl 对象,用于控制 Direct2D 的打印功能。与 ID2D1Device1 接口中的同名方法相似,用于打印控制。
ID2D1DeviceContext1 接口提供了在 Direct2D 设备上下文中创建和操作几何图形实现、文本布局的方法,以及与打印相关的方法。这些方法允许对图形进行更高级别的控制和优化。
转载请注明出处:http://www.zyzy.cn/article/detail/25328/Win32 API/D2d1_2.h/ID2D1DeviceContext1