我也在寻找同样的东西,这里提供给大家以便有用。在“Draw…”方法结束时,有一个叫做“ID2D1StrokeStyle1*”的参数,这就是我们需要传递的内容。为了创建一个描边样式,我们需要声明一个
ID2D1StrokeStyle1* strokeStyleFixedThickness;
我们使用ID2D1Factory1的CreateStrokeStyle函数对其进行初始化。下面创建了一个带有所有默认设置的描边样式,只是将描边转换类型设置为固定:
HRESULT hr = direct2dFactory->CreateStrokeStyle(
D2D1::StrokeStyleProperties1(
D2D1_CAP_STYLE_FLAT,
D2D1_CAP_STYLE_FLAT,
D2D1_CAP_STYLE_FLAT,
D2D1_LINE_JOIN_MITER,
10.0f,
D2D1_DASH_STYLE_SOLID,
0.0f, D2D1_STROKE_TRANSFORM_TYPE_FIXED),
nullptr, 0, &strokeStyleFixedThickness);
然后您可以在渲染目标的绘制方法中使用它:
renderTarget->DrawLine(point0, point1, myBrush, lineWidth, strokeStyleFixedThickness);