当前位置: 移动技术网 > IT编程>开发语言>c# > C#中怎样获取System.Drawing.Color的所有颜色对象并存到数组中

C#中怎样获取System.Drawing.Color的所有颜色对象并存到数组中

2019年12月25日  | 移动技术网IT编程  | 我要评论

场景

需要在生成一组多条曲线时,随机从一颜色数组中取颜色,至少一百种颜色以上。

而system.drawing.color自带140多种颜色

 

 

那么怎样将其自带的颜色对象取出并存在数组中。

注:

博客主页:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载

实现

//用于存取取出的颜色对象
list<color> colorlist = new list<color>();
//通过getmember获取所有的公共成员
foreach (var item in typeof(color).getmembers())
      {
       //只取属性且为属性中的已知color,剔除byte属性以及一些布尔属性等(a b g r isknowncolor name等)
          if (item.membertype == system.reflection.membertypes.property && system.drawing.color.fromname

(item.name).isknowncolor == true)
              {
                  color color = system.drawing.color.fromname(item.name);
                  colorlist.add(color);
               }
        }
//转成数组
color[] colors = colorlist.toarray();

可以查看此时获取的颜色对象的数组为:

 

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网