2008-09-15 3 views
0

Есть ли способ нарисовать линию вдоль изогнутой траектории с градиентом, который изменяется в направлении, перпендикулярном направлению линии? Я использую рамки GDI + для своей графики.Полилиния с градиентом

ответ

1

Простой ответ: нет. Вы можете создать GraphicsPath, чтобы описать, что вы хотели бы сделать, используя AddPoint/AddLine/AddBezier и т. Д., Если необходимо, чтобы описать сложный путь того, что вы хотите нарисовать. Когда вы рисуете путь, вы можете предоставить кисть, которая может быть чем-то вроде LinearGradientBrush или RadialGradientBrush. Ни одна из этих градиентных кистей не реагирует на фактический путь, который рисуется в смысле изменения направления по мере наступления рисунка. Вы должны указывать углы и т. Д. Как постоянные для всей области градиента.

0

Один из возможных способов, который вы можете использовать, - установить область клипа объекта Graphics только для линии. Затем нарисуйте линейный градиент над крайностями линии, например.

GraphicsPath gp = new GraphicsPath(); 

gp.AddArc(); // etc... 

graphics.SetClip(gp); 

graphics.FillRectangle(myLinearGradientBrush, gp.GetBounds()); 

Вышеупомянутый код может предоставить вам то, что вы ищете.

 Смежные вопросы

  • Нет связанных вопросов^_^