Disegnare una linea con un gradiente di colore

È possibile disegnare una linea con un graduato di colore?

Voglio essere in grado di disegnare una linea retta o curva (se possibile) dove ad una estremità della linea è di colore Blu e l’altra estremità è di colore Rosso.

Ulteriore potrebbe essere necessario avere più di un gradiente di linea per linea e.g il colore che va dal Blu -> Verde -> Rosso. Penso che questo potrebbe consistere di più di gradiente linee tracciate insieme.

InformationsquelleAutor TK. | 2009-02-23

 

2 Replies
  1. 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));
            }
        }
    }
    • Si dovrebbe essere chiamata a smaltire…
    • no, non è necessario in questo caso. Metodo Dispose() sarà chiamato automaticamente dopo il metodo OnPaint.
    • Egli deve, sulla Penna vernice e Pennello. Meglio ancora, a mantenere la loro vita come membri e non di crearne di nuovi in ogni vernice.
    • grazie ragazzi. Ho fretta di mettere il frammento di insieme, che è il mio male. Hanno sistemato.
    • Sì, intendevo il pennello e la penna. Avevo intenzione di ottenere eccessivamente anale…
  2. 3

    sarà necessario utilizzare System.Drawing.Drawing2D.LinearGradientBrush invece di System.Drawing.SolidBrush

    esempio:

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

Lascia un commento