полилиния с градиентом - PullRequest
       16

полилиния с градиентом

0 голосов
/ 15 сентября 2008

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

Ответы [ 2 ]

1 голос
/ 15 сентября 2008

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

0 голосов
/ 23 апреля 2009

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

GraphicsPath gp = new GraphicsPath();

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

graphics.SetClip( gp );

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

Приведенный выше код может дать вам то, что вы ищете.

...