Ejemplo n.º 1
0
    private void DrawBackground(Graphics graphics)
    {
      //
      // Create gradient brush
      //
      Brush gradientBrush = new LinearGradientBrush(workingLabel.ClientRectangle,
                                                    firstColor,
                                                    lastColor,
                                                    LinearGradientMode.Horizontal);

      //
      // Draw brush
      //
      graphics.FillRectangle(gradientBrush, this.ClientRectangle);
      gradientBrush.SafeDispose();
    }
Ejemplo n.º 2
0
    private void DrawFadingText(Graphics g, SizeF stringSize, string text, Rectangle rect, Font font, Color color)
    {
      LinearGradientBrush fadingBrush = null;

      try
      {
        fadingBrush = new LinearGradientBrush(rect, Color.FromArgb(255, color), Color.FromArgb(128, color),
                                              LinearGradientMode.Horizontal);

        Blend fadeBlend = new Blend(4);
        fadeBlend.Factors = new float[] {0, 0, .85f, 1};
        float fadeStart = Math.Max(1, rect.Width - 50) / (float)rect.Width;
        float fadeMiddle = Math.Max(1, rect.Width - 15) / (float)rect.Width;
        float fadeEnd = 1;
        fadeBlend.Positions = new float[] {0, fadeStart, fadeMiddle, fadeEnd};
        fadingBrush.Blend = fadeBlend;

        g.DrawString(text, font, fadingBrush, rect, TextStringFormat);
      }

      finally
      {
        if (fadingBrush != null)
        {
          fadingBrush.SafeDispose();
          fadingBrush = null;
        }
      }
    }