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(); }
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; } } }