2009-02-23 7 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

당신은 –

+2

아니, 그는이 경우에 필요하지 않습니다 ... 폐기를 호출해야합니다. Dispose() 메서드는 OnPaint 메서드 후에 자동으로 호출됩니다. –

+0

그는 펜과 브러시 페인트에 있어야합니다. 더 나은 아직, 회원으로 살아 그들을 유지하고 각 페인트에 새로운 것들을 만들지 마십시오. – configurator

3

대신 System.Drawing.SolidBrush

예의 System.Drawing.Drawing2D.LinearGradientBrush를 사용해야합니다 :

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