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_PROPERTIES brushProperties = { 1.0f, D2D1::Matrix4x4F() };
// 创建实心颜色笔刷
pRenderTarget->CreateSolidColorBrush(
D2D1::ColorF(D2D1::ColorF::Blue),
brushProperties,
&pSolidColorBrush
);
// 使用笔刷绘制图形
pRenderTarget->BeginDraw();
pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White));
pRenderTarget->DrawRectangle(D2D1::RectF(10.0f, 10.0f, 100.0f, 100.0f), pSolidColorBrush);
pRenderTarget->EndDraw();
在这个示例中,D2D1::Matrix4x4F() 表示单位矩阵,D2D1::ColorF(D2D1::ColorF::Blue) 表示蓝色的实心颜色。你可以根据需要调整 opacity 和 transform 属性,以满足具体的绘图需求。
转载请注明出处:http://www.zyzy.cn/article/detail/25443/Win32 API/D2d1helper.h/BrushProperties