首页 > 编程语言 > 详细

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

时间:2019-12-25 09:46:12      阅读:128      评论:0      收藏:0      [点我收藏+]

场景

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

而System.Drawing.Color自带140多种颜色

技术分享图片

 

 

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

注:

博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载

实现

//用于存取取出的颜色对象
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();

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

技术分享图片

 

 

 

技术分享图片

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

原文:https://www.cnblogs.com/badaoliumangqizhi/p/12094767.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!