using System.Drawing;
namespace Yw.WinFrmUI
{
///
/// 随机色辅助类
///
public class PhartColorHelper
{
private static readonly List _color_array = new List()
{
Color.Red, Color.Blue, Color.Green,Color.DodgerBlue,
Color.Fuchsia, Color.MidnightBlue, Color.Maroon, Color.Aquamarine,
Color.Bisque,Color.BurlyWood
};
///
/// 获取随机颜色
///
///
public static Color Get(int count)
{
if (count < _color_array.Count)
{
return _color_array[count];
}
return GetRandomDarkColor();
}
private static Color GetRandomDarkColor()
{
Random random = new Random();
int r, g, b;
do
{
r = random.Next(256);
g = random.Next(256);
b = random.Next(256);
} while (CalculateBrightness(r, g, b) > 128); // 确保颜色是深色
return Color.FromArgb(r, g, b);
}
private static int CalculateBrightness(int r, int g, int b)
{
// 计算颜色的亮度,亮度值越低,颜色越深
return (r + g + b) / 3;
}
}
}