D2D1_ROUNDED_RECT 是 Direct2D 库中定义的一个结构,用于描述带有圆角的矩形。该结构在头文件 D2d1.h 中声明。

以下是该结构的定义:
typedef struct D2D1_ROUNDED_RECT {
  D2D1_RECT_F rect;
  FLOAT       radiusX;
  FLOAT       radiusY;
} D2D1_ROUNDED_RECT;

这个结构有以下成员:

  •  rect: 矩形的坐标和大小,使用 D2D1_RECT_F 结构表示。

  •  radiusX: 矩形的水平方向圆角半径。

  •  radiusY: 矩形的垂直方向圆角半径。


使用这个结构可以方便地描述一个带有圆角的矩形,然后通过 Direct2D 的绘图接口进行矩形的绘制。

以下是一个使用 D2D1_ROUNDED_RECT 结构创建带有圆角的矩形的简单示例:
#include <d2d1.h>

// 假设 pRenderTarget 是一个有效的 ID2D1RenderTarget 指针
ID2D1RenderTarget *pRenderTarget;

// 创建一个 D2D1_ROUNDED_RECT 结构
D2D1_ROUNDED_RECT roundedRect = {
    D2D1::RectF(50.0f, 50.0f, 150.0f, 100.0f), // 矩形坐标和大小
    10.0f, // 水平方向圆角半径
    5.0f   // 垂直方向圆角半径
};

// 使用 DrawRoundedRectangle 方法绘制带有圆角的矩形
pRenderTarget->DrawRoundedRectangle(roundedRect, /* ... other parameters ... */);

在实际使用中,请确保在调用相关绘图函数之前已经初始化了 Direct2D 环境,并适当处理可能的错误。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25228/Win32 API/D2d1.h/D2D1_ROUNDED_RECT