0

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

4

2 回答 2

1

简单回答是不。您可以创建一个 GraphicsPath 来描述您想要绘制的内容,根据需要使用 AddPoint/AddLine/AddBezier 等来描述您想要绘制的复杂路径。绘制路径时,您可以提供一个 Brush,它可以是 LinearGradientBrush 或 RadialGradientBrush。这些渐变画笔都不会对绘制的实际路径做出反应,因为绘制发生时会改变方向。您必须将角度等指定为整个渐变区域的常数。

于 2008-09-15T14:15:14.403 回答
0

您可以使用的一种可能方法是将 Graphics 对象的剪辑区域设置为仅线的剪辑区域。然后在直线的两端画一个线性渐变,例如

GraphicsPath gp = new GraphicsPath();

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

graphics.SetClip( gp );

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

上面的代码可能会给你你正在寻找的东西。

于 2009-04-23T07:15:45.667 回答