1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| using System.Drawing;
|
| namespace Yw.WinFrmUI
| {
| /// <summary>
| /// 随机色辅助类
| /// </summary>
| public class PhartColorHelper
| {
| private static readonly List<Color> _color_array = new List<Color>()
| {
| Color.Red, Color.Blue, Color.Green,Color.DodgerBlue,
| Color.Fuchsia, Color.MidnightBlue, Color.Maroon, Color.Aquamarine,
| Color.Bisque,Color.BurlyWood
| };
|
| /// <summary>
| /// 获取随机颜色
| /// </summary>
| /// <returns></returns>
| 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;
| }
|
| }
| }
|
|