【问题标题】:Drawing a line with a gradient color用渐变颜色画一条线
【发布时间】:2014-10-28 18:52:24
【问题描述】:

是否可以使用渐变色画线?

我希望能够绘制一条直线或曲线(如果可能),线的一端是蓝色,另一端是红色。

Further 每行可能需要多个渐变,例如颜色从蓝色 -> 绿色 -> 红色。我在想这可能只是由多条渐变线组成。

【问题讨论】:

    标签: c# winforms gdi+ line gradient


    【解决方案1】:
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
    
        Graphics graphicsObject = e.Graphics;
    
        using (Brush aGradientBrush = new LinearGradientBrush(new Point(0, 0), new Point(50, 0), Color.Blue, Color.Red))
        {
            using (Pen aGradientPen = new Pen(aGradientBrush))
            {
                graphicsObject.DrawLine(aGradientPen, new Point(0, 10), new Point(100, 10));
            }
        }
    }
    

    【讨论】:

    • 不,在这种情况下他不需要。在 OnPaint 方法之后会自动调用 Dispose() 方法。
    • 他应该在画笔和画笔上。更好的是,让他们作为成员保持活力,并且不要在每幅画上都创建新的。
    • 谢谢大家。我急忙将sn-p放在一起,这是我的坏事。已经修好了。
    【解决方案2】:

    您需要使用System.Drawing.Drawing2D.LinearGradientBrush 而不是System.Drawing.SolidBrush

    示例:

    e.Graphics.DrawLine(new Pen(new System.Drawing.Drawing2D.LinearGradientBrush(...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-31
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      • 1970-01-01
      相关资源
      最近更新 更多