【问题标题】:polyline with gradient带渐变的折线
【发布时间】:2008-09-15 13:14:41
【问题描述】:

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

【问题讨论】:

    标签: windows graphics gdi+


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      GraphicsPath gp = new GraphicsPath();
      
      gp.AddArc(); // etc...
      
      graphics.SetClip( gp );
      
      graphics.FillRectangle( myLinearGradientBrush, gp.GetBounds());
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-07
        • 2021-12-16
        • 2014-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多