用渐变色绘制线条

TK.*_*TK. 6 c# gdi+ gradient line winforms

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

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

此外,可能需要每行有多个渐变,例如颜色来自蓝色 - >绿色 - >红色.我想这可能只是由多个渐变线组成.

Mit*_*eat 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));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 不,他不需要在这种情况下.在OnPaint方法之后将自动调用Dispose()方法. (2认同)

lub*_*sko 5

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

例子:

e.Graphics.DrawLine(new Pen(new System.Drawing.Drawing2D.LinearGradientBrush(...
Run Code Online (Sandbox Code Playgroud)