有没有办法沿弯曲路径绘制一条线,其渐变在垂直于线方向的方向上变化?我正在为我的图形使用GDI +框架。
答案 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());
以上代码可能会为您提供所需内容。