用渐变色绘制线条

时间:2009-02-23 08:04:47

标签: c# winforms gdi+ line gradient

是否可以使用渐变色绘制线条?

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

此外,可能需要每行具有多于一个的梯度,例如从蓝色到<>的颜色。绿色 - &gt;红色。我想这可能只是由多个渐变线组成。

2 个答案:

答案 0 :(得分:9)

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));
        }
    }
}

答案 1 :(得分:3)

您需要使用System.Drawing.Drawing2D.LinearGradientBrush代替System.Drawing.SolidBrush

示例:

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