我正在绘制一条2d线,我将如何为其添加发光效果?
auto renderer::draw_line(point<float> const& start_point, point<float> const& end_point, float const stroke_width, color const& stroke_color) -> void {
brush->SetColor(D2D1::ColorF(stroke_color.r, stroke_color.g, stroke_color.b, stroke_color.a));
device_context_d2d1->DrawLine(
D2D1::Point2F(start_point.x + offsetX, start_point.y + offsetY),
D2D1::Point2F(end_point.x + offsetX, end_point.y + offsetY),
brush.get(), stroke_width
);
}
我认为这个函数有一些东西
ID2D1Effect* shadowEffect;
device_context_d2d1->CreateEffect(CLSID_D2D1Shadow, &shadowEffect);
答案 0 :(得分:0)
您可以将Gaussian blur effect(实际上用于阴影效果),然后(可选)apply Brightness effect应用于模糊图像,然后最终在原始线条图像上绘制模糊图像。