带渐变的折线

时间:2008-09-15 13:14:41

标签: windows graphics gdi+

有没有办法沿弯曲路径绘制一条线,其渐变在垂直于线方向的方向上变化?我正在为我的图形使用GDI +框架。

2 个答案:

答案 0 :(得分:1)

简单的答案是否定的。您可以根据需要使用AddPoint / AddLine / AddBezier等来创建GraphicsPath以描述您想要绘制的内容,以描述您想要绘制的复杂路径。绘制路径时,您可以提供一个Brush,它可以是LinearGradientBrush或RadialGradientBrush。当绘图发生时,这些梯度刷中的任何一个都不会对绘制的实际路径作出反应。您必须将角度等指定为整个渐变区域的常量。

答案 1 :(得分:0)

您可以使用的一种可能方法是将Graphics对象的剪辑区域设置为仅限该行的剪辑区域。然后在线的极端绘制线性梯度,例如

GraphicsPath gp = new GraphicsPath();

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

graphics.SetClip( gp );

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

以上代码可能会为您提供所需内容。