Win32 API:ID2D1GdiInteropRenderTarget 接口(D2d1.h)
ID2D1GdiInteropRenderTarget 接口是 Win32 API Direct2D 中的接口,用于支持与 GDI(图形设备接口)互操作的渲染目标。这个接口允许将 Direct2D 渲染的图形绘制到 GDI 设备上下文中,或从 GDI 设备上下文中创建 Direct2D 渲染目标。以下是一些 ID2D1GdiInteropRenderTarget 接口的方法:1. GetDC: - 获取与 GDI 设备上下文相关联的设备上下文句柄。 HRESULT GetDC( D2D1_DC_INITIALIZE_MODE mode, HDC* phDC );2. ReleaseDC: - 释放与 GDI 设备上下文相关联的设备上下文句柄。 HRESULT ReleaseDC( const RECT* update );ID2D1GdiInteropRenderTarget 接口主要用于在 Direct2D 和 GDI 之间进行绘图的互操作。你可以使用 GetDC 方法获取与 GDI 设备上下文相关联的设备...
Win32 API:ID2D1Factory 接口(D2d1.h)
ID2D1Factory 接口是 Win32 API Direct2D 中的接口,用于创建 Direct2D 对象实例。这个接口提供了创建 Direct2D 中的各种对象的方法,如渲染目标、画刷、几何图形等。以下是一些 ID2D1Factory 接口的常用方法:1. CreateHwndRenderTarget: - 创建一个与窗口句柄相关联的渲染目标。 HRESULT CreateHwndRenderTarget( const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, const D2D1_HWND_RENDER_TARGET_PROPERTIES* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget );2. CreateEllipseGeometry: - 创建一个椭圆几何形状。 HRESULT CreateEllipseGeometry( c...
Win32 API:ID2D1EllipseGeometry 接口(D2d1.h)
ID2D1EllipseGeometry 接口是 Win32 API Direct2D 中的接口,用于表示椭圆几何形状。这个接口提供了用于获取椭圆几何形状属性的方法。以下是一些 ID2D1EllipseGeometry 接口的方法:1. GetEllipse: - 获取表示椭圆的参数。 void GetEllipse( D2D1_ELLIPSE* ellipse ) const;ID2D1EllipseGeometry 接口表示一个椭圆几何形状,你可以使用 GetEllipse 方法获取椭圆的参数,包括中心点坐标和半径。这个接口通常用于创建椭圆几何形状,然后可以将其用于路径、填充等绘图操作。以下是一个简单的示例,演示如何使用 ID2D1EllipseGeometry 创建一个椭圆几何形状:#include <D2d1.h>ID2D1Factory* pD2DFactory; // 已经存在的 Direct2D 工厂ID2D1EllipseGeometry* pEllipseGeometry; // 椭圆几何形状接口// 创建椭圆几何形状HRE...
Win32 API:ID2D1DrawingStateBlock 接口(D2d1.h)
ID2D1DrawingStateBlock 接口是 Win32 API Direct2D 中的接口,用于表示绘图状态块。绘图状态块包含了绘图时的一些状态信息,如当前的变换矩阵、笔刷的设置、文本渲染的设置等。以下是一些 ID2D1DrawingStateBlock 接口的方法:1. GetDescription: - 获取绘图状态块的描述信息。 void GetDescription( D2D1_DRAWING_STATE_DESCRIPTION* stateDescription ) const;2. SetTextRenderingParams: - 设置与绘图状态块相关联的文本渲染参数。 void SetTextRenderingParams( IDWriteRenderingParams* textRenderingParams );3. GetTextRenderingParams: - 获取与绘图状态块相关联的文本渲染参数。 void GetTextRenderingParams( I...
Win32 API:ID2D1DCRenderTarget 接口(D2d1.h)
ID2D1DCRenderTarget 接口是 Win32 API Direct2D 中的接口,用于表示与设备上下文(DC,即设备上下文,Device Context)相关联的渲染目标。这个接口允许你将 Direct2D 渲染的图形绘制到设备上下文中,例如窗口的客户区域或内存中的位图。以下是一些 ID2D1DCRenderTarget 接口的方法:1. BindDC: - 将渲染目标与设备上下文相关联。 HRESULT BindDC( HDC hDC, const RECT* pSubRect );2. GetDC: - 获取与渲染目标相关联的设备上下文。 HRESULT GetDC( D2D1_DC_INITIALIZE_MODE mode, HDC* phDC );3. ReleaseDC: - 释放与渲染目标相关联的设备上下文。 HRESULT ReleaseDC( const RECT* pUpdate );4. CreateBitmap: - 创建...
Win32 API:ID2D1Brush 接口(D2d1.h)
ID2D1Brush 接口是 Win32 API Direct2D 中表示画刷(Brush)的基本接口。ID2D1Brush 是所有画刷(例如,实心颜色画刷、渐变画刷等)的基类接口。以下是一些 ID2D1Brush 接口的方法:1. SetOpacity: - 设置画刷的不透明度。 void SetOpacity( float opacity );2. SetTransform: - 设置画刷的变换矩阵。 void SetTransform( const D2D1_MATRIX_4X4_F& transform );3. GetOpacity: - 获取画刷的不透明度。 float GetOpacity() const;4. GetTransform: - 获取画刷的变换矩阵。 void GetTransform( D2D1_MATRIX_4X4_F* transform ) const;5. GetType: - 获取画刷的类型。 D2D1_BRUSH_TY...
Win32 API:ID2D1BitmapRenderTarget 接口(D2d1.h)
ID2D1BitmapRenderTarget 接口是 Win32 API Direct2D 中的接口,用于创建一个用于绘制的位图渲染目标。以下是 ID2D1BitmapRenderTarget 接口的一些方法:1. GetBitmap: - 获取与位图渲染目标关联的位图。 HRESULT GetBitmap( ID2D1Bitmap** bitmap );2. GetCurrentSize: - 获取当前位图渲染目标的大小。 D2D1_SIZE_F GetCurrentSize() const;3. Resize: - 更改位图渲染目标的大小。 HRESULT Resize( const D2D1_SIZE_U* pixelSize );4. Resize: - 更改位图渲染目标的大小。 HRESULT Resize( UINT32 width, UINT32 height );5. GetPixelFormat: - 获取位图渲染目标的像素格式。 D...
Win32 API:ID2D1BitmapBrush 接口(D2d1.h)
ID2D1BitmapBrush 接口是 Win32 API Direct2D 中用于表示位图刷(Bitmap Brush)的接口。位图刷允许你使用位图来填充图形元素。以下是 ID2D1BitmapBrush 接口的一些常用方法:1. SetExtendModeX: - 设置水平方向上的延伸模式。 void SetExtendModeX( D2D1_EXTEND_MODE extendModeX );2. SetExtendModeY: - 设置垂直方向上的延伸模式。 void SetExtendModeY( D2D1_EXTEND_MODE extendModeY );3. SetInterpolationMode: - 设置刷子的插值模式。 void SetInterpolationMode( D2D1_BITMAP_INTERPOLATION_MODE interpolationMode );4. SetBitmap: - 设置用于填充刷子的位图。 void SetBitm...
Win32 API:ID2D1Bitmap 接口(D2d1.h)
在 Win32 API 的 Direct2D 中,ID2D1Bitmap 接口用于表示位图对象。该接口提供了对位图相关属性和操作的访问。以下是 ID2D1Bitmap 接口的一些常用方法:1. CopyFromBitmap: - 从另一个位图复制像素数据。 HRESULT CopyFromBitmap( const D2D1_POINT_2U* destPoint, ID2D1Bitmap* bitmap, const D2D1_RECT_U* srcRect );2. CopyFromRenderTarget: - 从渲染目标复制像素数据。 HRESULT CopyFromRenderTarget( const D2D1_POINT_2U* destPoint, ID2D1RenderTarget* renderTarget, const D2D1_RECT_U* srcRect );3. GetBitmap: - 获取与位图关联的 WIC 位图。 HR...
Win32 API:D2D1_WINDOW_STATE 枚举(D2d1.h)
在 Win32 API 的 Direct2D 中,D2D1_WINDOW_STATE 枚举是用于表示窗口状态的枚举类型。以下是 D2D1_WINDOW_STATE 枚举的成员:1. D2D1_WINDOW_STATE_NONE - 未指定窗口状态。2. D2D1_WINDOW_STATE_OCCLUDED - 窗口被遮挡。即窗口不在屏幕上可见,可能被其他窗口或图形元素遮挡。这个枚举通常用于与 Direct2D 渲染目标相关的方法,以指示窗口的当前状态。例如,在处理窗口消息时,可以通过检查窗口状态来决定是否需要绘制内容。以下是一个简单的示例:ID2D1HwndRenderTarget* pHwndRenderTarget; // 已经存在的 HWND 渲染目标D2D1_WINDOW_STATE windowState = pHwndRenderTarget->CheckWindowState();if (windowState & D2D1_WINDOW_STATE_OCCLUDED){ // 窗口被遮挡,可能不需要进行绘制}else{ // 窗口可...
Win32 API:D2D1_TEXT_ANTIALIAS_MODE 枚举(D2d1.h)
在 Win32 API 的 Direct2D 中,D2D1_TEXT_ANTIALIAS_MODE 枚举用于指定文本抗锯齿模式,即文本在渲染时的平滑度。以下是 D2D1_TEXT_ANTIALIAS_MODE 枚举的成员:1. D2D1_TEXT_ANTIALIAS_MODE_DEFAULT - 使用默认的文本抗锯齿模式。2. D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE - 使用 ClearType 子像素渲染技术进行文本抗锯齿。ClearType 可以提高文本的清晰度,特别是在高分辨率显示器上。3. D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE - 使用灰度抗锯齿进行文本渲染。这种模式通常在 ClearType 不可用或不适用的情况下使用。4. D2D1_TEXT_ANTIALIAS_MODE_ALIASED - 禁用文本抗锯齿,使用锯齿状边缘进行文本渲染。这个枚举通常在创建文本格式(IDWriteTextFormat)时,使用 ID2D1RenderTarget::DrawText 方法时,或者其他与文本渲染...
Win32 API:D2D1_SWEEP_DIRECTION 枚举(D2d1.h)
在 Win32 API 的 Direct2D 中,D2D1_SWEEP_DIRECTION 枚举用于指定弧线绘制的扫描方向。以下是 D2D1_SWEEP_DIRECTION 枚举的成员:1. D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE - 逆时针方向。弧线从起始角度向结束角度逆时针绘制。2. D2D1_SWEEP_DIRECTION_CLOCKWISE - 顺时针方向。弧线从起始角度向结束角度顺时针绘制。这个枚举通常在创建路径几何时,使用 ID2D1GeometrySink::AddArc 方法时的参数中进行设置。以下是一个简单的示例:ID2D1PathGeometry* pPathGeometry; // 已经创建的路径几何// 在创建路径几何时,可以使用 D2D1_SWEEP_DIRECTION 枚举成员来指定弧线的扫描方向pPathGeometry->Open(&pSink); // 打开路径几何的一个子路径pSink->BeginFigure(startPoint, D2D1_FIGURE_BEGIN_FILLE...
Win32 API:D2D1_RENDER_TARGET_USAGE 枚举(D2d1.h)
在 Win32 API 的 Direct2D 中,D2D1_RENDER_TARGET_USAGE 枚举用于指定渲染目标的用途。以下是 D2D1_RENDER_TARGET_USAGE 枚举的成员:1. D2D1_RENDER_TARGET_USAGE_NONE - 未指定特定用途。这是默认的渲染目标用途。2. D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING - 强制使用位图远程图形(bitmap remoting)。这在一些远程桌面应用程序中可能会用到。3. D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE - 使渲染目标与 GDI 兼容。这通常用于在 Direct2D 渲染目标上使用 GDI 操作。这些成员通常用于创建渲染目标时的 ID2D1Factory::CreateHwndRenderTarget 或 ID2D1Factory::CreateDxgiSurfaceRenderTarget 等方法的参数之一,以指定渲染目标的用途。以下是一个简单的示例:ID2D1Factory* pD2...
Win32 API:D2D1_RENDER_TARGET_TYPE 枚举(D2d1.h)
在 Win32 API 的 Direct2D 中,D2D1_RENDER_TARGET_TYPE 枚举是用于指定渲染目标类型的枚举。以下是 D2D1_RENDER_TARGET_TYPE 枚举的成员:1. D2D1_RENDER_TARGET_TYPE_DEFAULT - 默认渲染目标类型。通常用于创建与设备相关的渲染目标。2. D2D1_RENDER_TARGET_TYPE_SOFTWARE - 软件渲染目标类型。此类型的渲染目标在软件中进行渲染,而不是依赖硬件加速。3. D2D1_RENDER_TARGET_TYPE_HARDWARE - 硬件渲染目标类型。使用硬件加速来执行渲染操作。4. D2D1_RENDER_TARGET_TYPE_FORCE_DWORD - 强制将枚举的类型大小设置为 32 位。这些成员通常用于创建渲染目标时的 ID2D1Factory::CreateHwndRenderTarget 或 ID2D1Factory::CreateDxgiSurfaceRenderTarget 等方法的参数之一,以指定渲染目标的类型。以下是一个简单的示例...
Win32 API:D2D1_PRESENT_OPTIONS 枚举(D2d1.h)
在 Direct2D 中,D2D1_PRESENT_OPTIONS 枚举是用于表示呈现(present)选项的枚举类型。以下是 D2D1_PRESENT_OPTIONS 枚举的成员:1. D2D1_PRESENT_OPTIONS_NONE - 没有特殊的呈现选项。2. D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS - 在呈现后保留渲染目标的内容。这意味着在下一次呈现时,不会清除渲染目标的内容,而是将新的内容与现有内容组合在一起。3. D2D1_PRESENT_OPTIONS_IMMEDIATELY - 立即执行呈现。这个选项会尽快将内容呈现到屏幕上,而不进行等待。这些选项通常与呈现目标(render target)的 ID2D1DeviceContext::EndDraw 方法一起使用,用于指定在结束绘图操作后如何进行呈现。例如:ID2D1DeviceContext* pDeviceContext; // 已经存在的设备上下文D2D1_PRESENT_OPTIONS presentOptions = D2D1_PRESENT_OPTIONS...
Win32 API:D2D1_PATH_SEGMENT 枚举(D2d1.h)
D2D1_PATH_SEGMENT 枚举是 Direct2D 应用程序中 Win32 API 的一部分,用于表示路径的不同线段类型。以下是 D2D1_PATH_SEGMENT 枚举的成员:1. D2D1_PATH_SEGMENT_NONE - 不指定特定的路径线段类型。2. D2D1_PATH_SEGMENT_FORCE_UNSTROKED - 强制路径中的子路径不进行笔画(不进行描边)。通常在图形中定义轮廓时使用,以避免子路径被描边。3. D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN - 强制路径的所有线段连接处使用圆角连接。这通常用于确保路径连接点的圆滑度。D2D1_PATH_SEGMENT 枚举的成员可以在创建路径几何(ID2D1PathGeometry)时的参数中使用,以指定路径的不同部分如何被处理。以下是一个简单的示例:ID2D1PathGeometry* pPathGeometry; // 已经创建的路径几何// 在创建路径几何时,可以使用 D2D1_PATH_SEGMENT 枚举成员来指定不同的路径线段类型pPathGe...
Win32 API:D2D1_LINE_JOIN 枚举(D2d1.h)
D2D1_LINE_JOIN 枚举是 Direct2D 应用程序中 Win32 API 的一部分,用于指定两个线段交汇点的样式。该枚举定义了不同类型的线段连接方式。以下是 D2D1_LINE_JOIN 枚举的成员:1. D2D1_LINE_JOIN_MITER - 使用尖角连接线段。2. D2D1_LINE_JOIN_BEVEL - 使用平角连接线段。3. D2D1_LINE_JOIN_ROUND - 使用圆角连接线段。这些成员通常用于指定在绘制路径时如何处理线段的连接点。例如,当你使用 ID2D1RenderTarget::DrawGeometry 或 ID2D1RenderTarget::DrawPath 绘制路径时,可以指定连接点的样式。示例代码可能如下:ID2D1RenderTarget* pRenderTarget; // 假设已经存在ID2D1PathGeometry* pPathGeometry; // 假设已经创建并设置路径pRenderTarget->DrawGeometry( pPathGeometry, pBrush, // 用...
Win32 API:D2D1_LAYER_OPTIONS 枚举(D2d1.h)
D2D1_LAYER_OPTIONS 枚举是用于 Direct2D 应用程序的 Win32 API 中的一部分。该枚举定义了创建图形层时的选项。以下是 D2D1_LAYER_OPTIONS 枚举的成员:1. D2D1_LAYER_OPTIONS_NONE - 没有特殊选项。使用此选项创建的图形层将被视为普通图形层。2. D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE - 图形层将被初始化以用于 ClearType 渲染。ClearType 是一种字体渲染技术,通过使用次像素级的颜色调整来提高文本的清晰度。D2D1_LAYER_OPTIONS 枚举通常在创建图形层时作为参数传递给 ID2D1DeviceContext::CreateLayer 方法。例如:ID2D1DeviceContext* pDeviceContext; // 假设已经存在D2D1_LAYER_PARAMETERS layerParameters = D2D1::LayerParameters( D2D1::InfiniteRect(), // 图形层的大...
Win32 API:D2D1_GEOMETRY_SIMPLIFICATION_OPTION 枚举(D2d1.h)
在 Win32 API 的 Direct2D 中,D2D1_GEOMETRY_SIMPLIFICATION_OPTION 枚举用于指定几何图形简化的选项。这个枚举定义在 D2d1.h 头文件中。以下是 D2D1_GEOMETRY_SIMPLIFICATION_OPTION 枚举的定义:typedef enum D2D1_GEOMETRY_SIMPLIFICATION_OPTION { D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES, D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES,} D2D1_GEOMETRY_SIMPLIFICATION_OPTION;该枚举包含两个成员:1. D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES:表示在几何图形简化中同时考虑三次贝塞尔曲线和直线。2. D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES:表示在几何图形简化中只考虑直线。这些选项用于在创建几何图形时,通过设...
Win32 API:D2D1_GEOMETRY_RELATION 枚举(D2d1.h)
在 Win32 API 的 Direct2D 中,D2D1_GEOMETRY_RELATION 枚举用于指定两个几何图形之间的关系。这个枚举定义在 D2d1.h 头文件中。以下是 D2D1_GEOMETRY_RELATION 枚举的定义:typedef enum D2D1_GEOMETRY_RELATION { D2D1_GEOMETRY_RELATION_UNKNOWN = 0, D2D1_GEOMETRY_RELATION_DISJOINT = 1, D2D1_GEOMETRY_RELATION_IS_CONTAINED = 2, D2D1_GEOMETRY_RELATION_CONTAINS = 3, D2D1_GEOMETRY_RELATION_OVERLAP = 4,} D2D1_GEOMETRY_RELATION;该枚举包含五个成员:1. D2D1_GEOMETRY_RELATION_UNKNOWN:几何图形之间的关系未知。2. D2D1_GEOMETRY_RELATION_DISJOINT:几何图形是不相交的,它们没...