Win32 API:D2D1_SVG_PRESERVE_ASPECT_RATIO 结构(D2d1svg.h)
D2D1_SVG_PRESERVE_ASPECT_RATIO 结构体是与 Scalable Vector Graphics (SVG) 相关的 Direct2D 头文件 D2d1svg.h 中定义的结构体。这个结构体用于描述 SVG 图形中的 preserveAspectRatio 特性的设置。以下是 D2D1_SVG_PRESERVE_ASPECT_RATIO 结构体的定义:typedef struct D2D1_SVG_PRESERVE_ASPECT_RATIO{ D2D1_SVG_ASPECT_ALIGN align; D2D1_SVG_ASPECT_SCALING meetOrSlice;} D2D1_SVG_PRESERVE_ASPECT_RATIO;这个结构体有两个成员:1. align:表示 preserveAspectRatio 的 align 特性,是一个枚举类型 D2D1_SVG_ASPECT_ALIGN。2. meetOrSlice:表示 preserveAspectRatio 的 meetOrSlice 特性,是一个枚举类型 D2D1_SVG_ASP...
Win32 API:D2D1_SVG_LENGTH 结构(D2d1svg.h)
D2D1_SVG_LENGTH 结构体是与 Scalable Vector Graphics (SVG) 相关的 Direct2D 头文件 D2d1svg.h 中定义的结构体。这个结构体用于描述 SVG 图形中的长度信息。以下是 D2D1_SVG_LENGTH 结构体的定义:typedef struct D2D1_SVG_LENGTH{ D2D1_SVG_LENGTH_UNITS units; FLOAT value;} D2D1_SVG_LENGTH;这个结构体有两个成员:1. units:表示长度的单位,是一个枚举类型 D2D1_SVG_LENGTH_UNITS。2. value:表示长度的实际数值,是一个 FLOAT 类型。D2D1_SVG_LENGTH_UNITS 枚举类型定义了长度单位的可能取值,包括:typedef enum D2D1_SVG_LENGTH_UNITS{ D2D1_SVG_LENGTH_UNITS_NUMBER, D2D1_SVG_LENGTH_UNITS_PERCENTAGE, D2D1_SVG_LENGTH_UNITS_PX...
Win32 API:StrokeStyleProperties 函数(D2d1helper.h)
在 Win32 API 中,StrokeStyleProperties 不是一个直接的函数,而是 D2D1_STROKE_STYLE_PROPERTIES 结构体的构造函数,定义在 D2d1helper.h 头文件中。D2D1_STROKE_STYLE_PROPERTIES 结构体用于描述 Direct2D 中描边样式的属性。以下是 D2D1_STROKE_STYLE_PROPERTIES 结构体的定义:typedef struct D2D1_STROKE_STYLE_PROPERTIES{ D2D1_CAP_STYLE startCap; D2D1_CAP_STYLE endCap; D2D1_CAP_STYLE dashCap; D2D1_LINE_JOIN lineJoin; FLOAT miterLimit; D2D1_DASH_STYLE dashStyle; FLOAT dashOffset;} D2D1_STROKE_STYLE_PROPERTIES;这个结构体包含了描边的多个属性,如起始端点样式、结束端点样式、虚线端点样式、线段连接样式、斜接限制、虚线样式...
Win32 API:SizeU 函数(D2d1helper.h)
在 Win32 API 中,SizeU 不是一个直接的函数,而是 D2D1_SIZE_U 结构体的构造函数,定义在 D2d1helper.h 头文件中。D2D1_SIZE_U 结构体用于表示一个无符号整数类型的二维尺寸。以下是 D2D1_SIZE_U 结构体的定义:typedef struct D2D1_SIZE_U{ UINT32 width; UINT32 height;} D2D1_SIZE_U;这个结构体包含了两个无符号整数成员,分别表示宽度和高度。通常情况下,你会使用这个结构体来描述图形中的尺寸,例如位图的宽度和高度。下面是一个示例代码,演示如何使用 D2D1_SIZE_U 结构体:#include <d2d1.h>#include <D2d1helper.h>// 其他代码...// 创建一个无符号整数类型的二维尺寸D2D1_SIZE_U mySize = D2D1::SizeU(800, 600);// 使用 mySize 进行其他操作...在这个例子中,D2D1::SizeU 是一个用于创建 D2D1_SIZE_U 结构体的辅助函数。...
Win32 API:SizeF 函数(D2d1helper.h)
在 Win32 API 中,SizeF 不是一个直接的函数,而是 D2D1_SIZE_F 结构体的构造函数,定义在 D2d1helper.h 头文件中。D2D1_SIZE_F 结构体用于表示一个浮点数类型的二维尺寸。以下是 D2D1_SIZE_F 结构体的定义:typedef struct D2D1_SIZE_F{ FLOAT width; FLOAT height;} D2D1_SIZE_F;这个结构体包含了两个浮点数成员,分别表示宽度和高度。通常情况下,你会使用这个结构体来描述图形中的尺寸,例如矩形的宽度和高度。下面是一个示例代码,演示如何使用 D2D1_SIZE_F 结构体:#include <d2d1.h>#include <D2d1helper.h>// 其他代码...// 创建一个二维尺寸D2D1_SIZE_F mySize = D2D1::SizeF(100.0f, 50.0f);// 使用 mySize 进行其他操作...在这个例子中,D2D1::SizeF 是一个用于创建 D2D1_SIZE_F 结构体的辅助函数。这样你就可以使用 ...
Win32 API:RoundedRect 函数(D2d1helper.h)
在 Win32 API 中,RoundedRect 函数是用于创建 D2D1_ROUNDED_RECT 结构体的辅助函数,它定义在 D2d1helper.h 头文件中。D2D1_ROUNDED_RECT 结构体用于表示一个带有圆角的矩形。以下是 D2D1_ROUNDED_RECT 结构体的定义:typedef struct D2D1_ROUNDED_RECT{ D2D1_RECT_F rect; FLOAT radiusX; FLOAT radiusY;} D2D1_ROUNDED_RECT;这个结构体包含了一个矩形区域(D2D1_RECT_F rect)和两个表示水平和垂直方向上圆角半径的浮点数(FLOAT radiusX 和 FLOAT radiusY)。RoundedRect 函数的定义如下:D2D1_INLINE D2D1_ROUNDED_RECT RoundedRect( const D2D1_RECT_F &rect, FLOAT radiusX, FLOAT radiusY);这个函数接受一个...
Win32 API:RenderTargetProperties 函数(D2d1helper.h)
在 Win32 API 中,RenderTargetProperties 并不是一个特定的函数,而是 D2D1_RENDER_TARGET_PROPERTIES 结构体的构造函数。这个结构体用于描述 Direct2D 渲染目标的属性。以下是 D2D1_RENDER_TARGET_PROPERTIES 结构体的定义: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;这个结构体有一些成员,其中包括渲染目标的类型、像素格式、DPI (dots ...
Win32 API:RectU 函数(D2d1helper.h)
在Win32 API中,RectU 函数通常是与Direct2D图形库相关的,而不是直接与Win32 API有关。RectU 函数实际上是定义在D2d1helper.h头文件中的,用于创建D2D1_RECT_U 结构体的帮助函数。D2D1_RECT_U 结构体表示一个用于描述矩形区域的数据结构,其成员包括左上角和右下角的坐标。在D2d1helper.h头文件中,RectU 函数的定义如下:D2D1_INLINE D2D1_RECT_U RectU( UINT left, UINT top, UINT right, UINT bottom);这个函数接受四个参数,分别是矩形的左上角和右下角的坐标,返回一个 D2D1_RECT_U 结构体。这个结构体的定义如下:typedef struct D2D1_RECT_U{ UINT32 left; UINT32 top; UINT32 right; UINT32 bottom;} D2D1_RECT_U;使用这个函数,你可以方便地创建一个表示矩形区域的 D2D1_RECT_U 结构体。例如:#include <...
Win32 API:RectF 函数(D2d1helper.h)
在 Win32 API 中,RectF 并不是一个函数,而是 D2D1_RECT_F 结构体的别名。这个结构体用于表示一个矩形的坐标和尺寸信息,通常用于 Direct2D 库中。以下是 D2D1_RECT_F 结构体的定义:typedef struct D2D1_RECT_F { FLOAT left; FLOAT top; FLOAT right; FLOAT bottom;} D2D1_RECT_F;这个结构体有四个成员: left:矩形左侧的 x 坐标。 top:矩形顶部的 y 坐标。 right:矩形右侧的 x 坐标。 bottom:矩形底部的 y 坐标。你可以使用这个结构体来定义矩形的位置和大小。例如:#include <d2d1.h>#include <D2d1helper.h>D2D1_RECT_F rect = D2D1::RectF(10.0f, 20.0f, 100.0f, 80.0f);这会创建一个左上角坐标为 (10, 20),右下角坐标为 (100, 80) 的矩形。你可以在使用 Direct2D 进行绘图时,使用这个结构体来指...
Win32 API:RadialGradientBrushProperties 函数(D2d1helper.h)
Win32 API 中的 RadialGradientBrushProperties 函数实际上是结构体,而不是函数。这个结构体在 Direct2D 库的头文件 D2d1helper.h 中定义,用于描述径向渐变刷子的属性。以下是 RadialGradientBrushProperties 结构体的定义:typedef struct D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES { D2D1_POINT_2F center; D2D1_POINT_2F gradientOriginOffset; FLOAT radiusX; FLOAT radiusY;} D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES;这个结构体有四个成员: center:渐变的中心点坐标。 gradientOriginOffset:渐变起始点相对于中心点的偏移。 radiusX:渐变的 X 轴半径。 radiusY:渐变的 Y 轴半径。你可以使用这个结构体来创建径向渐变刷子,例如:#include <d2d1.h...
Win32 API:QuadraticBezierSegment 函数(D2d1helper.h)
QuadraticBezierSegment 函数是 Windows 桌面应用程序 (Win32 API) 中的一部分,它属于 Direct2D 图形库,位于 D2d1helper.h 头文件中。这个函数用于创建一个二次贝塞尔曲线(Quadratic Bezier Curve)的绘制段。二次贝塞尔曲线由两个点定义,分别是控制点和终点,通过这两个点可以创建出一条光滑的曲线。以下是该函数的简要说明:HRESULT QuadraticBezierSegment( const D2D1_POINT_2F &point1, const D2D1_POINT_2F &point2); point1:指定曲线的控制点。 point2:指定曲线的终点。函数返回 HRESULT 类型,用于表示操作是否成功。在使用这个函数之前,你需要确保已经初始化了 Direct2D 绘图环境,并且创建了正确的绘图目标。此外,可能还需要设置画刷(Brush)等绘图属性。以下是一个简单的例子,演示如何使用 QuadraticBezierSegment 函数绘制二次贝塞尔曲线:#include <W...
Win32 API:Point2U 函数(D2d1helper.h)
在 Win32 API 的 Direct2D 中,Point2U 结构体用于表示二维平面中的点的坐标,其中坐标的值为无符号整数。这个结构体通常用于指定绘图中的位置。以下是 Point2U 结构体的定义:typedef struct D2D1_POINT_2U { UINT32 x; UINT32 y;} D2D1_POINT_2U; x 和 y 分别表示点的横坐标和纵坐标,都是无符号整数。这个结构体通常在创建几何图形、设置绘图的起始点、终点等场景中使用。以下是一个简单的示例,演示如何使用 D2D1_POINT_2U 结构体来指定无符号整数坐标的点:#include <d2d1.h>#include <d2d1helper.h>// 初始化 Direct2D 和相关资源HRESULT InitializeD2D(HWND hwnd, ID2D1Factory** ppFactory, ID2D1HwndRenderTarget** ppRenderTarget){ // 创建 Direct2D 工厂 HRESULT hr = D2D1CreateF...
Win32 API:Point2F 函数(D2d1helper.h)
在 Win32 API 的 Direct2D 中,Point2F 结构体用于表示二维平面中的点的坐标。这个结构体通常用于指定绘图中的位置。以下是 Point2F 结构体的定义:typedef struct D2D1_POINT_2F { FLOAT x; FLOAT y;} D2D1_POINT_2F; x 和 y 分别表示点的横坐标和纵坐标。这个结构体通常在绘图操作中使用,例如在创建几何图形、设置绘图的起始点、终点等场景。以下是一个简单的示例,演示如何使用 D2D1_POINT_2F 结构体来指定点的坐标:#include <d2d1.h>#include <d2d1helper.h>// 初始化 Direct2D 和相关资源HRESULT InitializeD2D(HWND hwnd, ID2D1Factory** ppFactory, ID2D1HwndRenderTarget** ppRenderTarget){ // 创建 Direct2D 工厂 HRESULT hr = D2D1CreateFactory(D2D1_FACTORY_...
Win32 API:PixelFormat 函数(D2d1helper.h)
在 Win32 API 的 Direct2D 中,PixelFormat 结构体用于定义位图的像素格式。通常,这个结构体用于在创建位图时指定像素格式的属性。以下是 PixelFormat 结构体的定义:typedef struct D2D1_PIXEL_FORMAT { DXGI_FORMAT format; D2D1_ALPHA_MODE alphaMode;} D2D1_PIXEL_FORMAT; format: 指定位图的像素格式,通常是 DXGI 格式,表示像素的存储方式。 alphaMode: 指定 Alpha 通道的使用方式,是一个 D2D1_ALPHA_MODE 枚举,表示如何处理透明度。这个结构体经常在创建位图时使用,例如在 ID2D1RenderTarget::CreateBitmap 中指定像素格式。以下是一个简单的示例:#include <d2d1.h>#include <d2d1helper.h>// 初始化 Direct2D 和相关资源HRESULT InitializeD2D(HWND hwnd, ID2D1Factory** p...
Win32 API:LayerParameters 函数(D2d1helper.h)
在 Win32 API 的 Direct2D 中,LayerParameters 结构体用于定义图层(layer)的属性。该结构体通常用于在绘图时创建和管理图层。以下是 LayerParameters 结构体的定义:typedef struct D2D1_LAYER_PARAMETERS { D2D1_RECT_F contentBounds; ID2D1Geometry *geometricMask; D2D1_ANTIALIAS_MODE maskAntialiasMode; D2D1_MATRIX_4X4_F maskTransform; FLOAT opacity; ID2D1Brush *opacityBrush; D2D1_LAYER_OPTIONS layerOptions;} D2D1_LAYER_PARAMETERS; contentBounds: 指定图层的内容边界,是一个 D2D1_RECT_F 结构体。 geometricMask: 指定一个几何图形,用于...
Win32 API:HwndRenderTargetProperties 函数(D2d1helper.h)
在 Win32 API 的 Direct2D 中,HwndRenderTargetProperties 结构体用于定义创建 ID2D1HwndRenderTarget 对象时所需的属性。以下是该结构体的定义:typedef struct D2D1_HWND_RENDER_TARGET_PROPERTIES { HWND hwnd; D2D1_SIZE_U pixelSize; D2D1_PRESENT_OPTIONS presentOptions;} D2D1_HWND_RENDER_TARGET_PROPERTIES; hwnd: 指定用于创建渲染目标的窗口句柄(HWND)。 pixelSize: 指定渲染目标的大小,是一个 D2D1_SIZE_U 结构体,包含宽度和高度。 presentOptions: 指定渲染目标的呈现选项,是一个 D2D1_PRESENT_OPTIONS 枚举。通常,这个结构体用于创建与窗口相关联的 Direct2D 渲染目标。下面是一个示例,演示如何使用 HwndRenderTargetProperties 结构体创建 ID2D1Hwnd...
Win32 API:GradientStop 函数(D2d1helper.h)
在 Win32 API 的 Direct2D 中,GradientStop 结构体用于定义渐变的颜色和位置。该结构体通常用于创建渐变画刷(ID2D1GradientStopCollection)。以下是 GradientStop 结构体的定义:typedef struct D2D1_GRADIENT_STOP { FLOAT position; D2D1_COLOR_F color;} D2D1_GRADIENT_STOP; position: 定义渐变停止的位置,是一个浮点数,表示从 0.0 到 1.0 的范围。0.0 表示渐变的起始点,1.0 表示渐变的结束点。 color: 定义渐变停止的颜色,是一个 D2D1_COLOR_F 结构体,表示颜色的 RGBA 值。使用 GradientStop 结构体,你可以指定渐变中每个停止点的位置和颜色,从而创建渐变画刷。以下是一个简单的示例:ID2D1RenderTarget* pRenderTarget = /* 获取RenderTarget的方式 */;// 定义渐变停止D2D1_GRADIENT_STO...
Win32 API:椭圆形 函数(D2d1helper.h)
在 Win32 API 的 Direct2D 中,创建椭圆形的相关函数主要包含在 D2d1helper.h 头文件中。椭圆形可以通过 ID2D1RenderTarget 接口的 DrawEllipse 方法进行绘制。以下是一个简单的使用示例:#include <d2d1.h>#include <d2d1helper.h>// 初始化 Direct2D 和相关资源HRESULT InitializeD2D(HWND hwnd, ID2D1Factory** ppFactory, ID2D1HwndRenderTarget** ppRenderTarget){ // 创建 Direct2D 工厂 HRESULT hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, ppFactory); if (SUCCEEDED(hr)) { RECT rc; GetClientRect(hwnd, &rc); // 创建 Direct2D 渲染目标 ...
Win32 API:DrawingStateDescription 函数(D2d1helper.h)
在 Win32 API 的 Direct2D 中,DrawingStateDescription 结构体用于描述绘图状态的一些属性。这个结构体通常用于与 ID2D1RenderTarget::SaveDrawingState 和 ID2D1RenderTarget::RestoreDrawingState 方法一起使用,以保存和还原绘图状态。以下是DrawingStateDescription 结构体的定义:typedef struct D2D1_DRAWING_STATE_DESCRIPTION { D2D1_ANTIALIAS_MODE antialiasMode; D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode; D2D1_TAG tag1; D2D1_TAG tag2; D2D1_MATRIX_4X4_F transform;} D2D1_DRAWING_STATE_DESCRIPTION; antialiasMode: 指定抗锯齿模式,是一个 D2D1_ANTIALIAS_MODE 枚举。 textAntialiasMode: ...
Win32 API:BrushProperties 函数(D2d1helper.h)
在 Win32 API 的 Direct2D 中,BrushProperties 结构体用于定义笔刷(Brush)的属性。BrushProperties 结构体的定义如下:typedef struct D2D1_BRUSH_PROPERTIES { FLOAT opacity; D2D1_MATRIX_4X4_F transform;} D2D1_BRUSH_PROPERTIES; opacity: 指定笔刷的不透明度,取值范围为 0.0(完全透明)到 1.0(完全不透明)之间。 transform: 指定笔刷的变换矩阵,是一个 D2D1_MATRIX_4X4_F 结构体,用于定义笔刷的变换效果。需要注意的是,D2D1_MATRIX_4X4_F 结构体表示一个 4x4 的矩阵,用于进行二维图形的变换。如果你不需要应用变换,可以将 transform 设置为单位矩阵。这些属性可以在创建笔刷时使用,以定义笔刷的外观和效果。以下是一个示例:ID2D1SolidColorBrush* pSolidColorBrush = nullptr;// 定义笔刷属性D2D1_BRUSH_PROPER...