2009-02-23 296 views
6

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

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

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

回答

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

你应该调用dispose ... – 2009-02-23 08:18:06

3

,你将需要使用System.Drawing.Drawing2D.LinearGradientBrush代替System.Drawing.SolidBrush

例如:

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