请选择 进入手机版 | 继续访问电脑版

马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

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

[复制链接]
查看948 | 回复1 | 2019-12-26 09:07:12 | 显示全部楼层 |阅读模式

场景

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

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

090949xct95feuu3gcuggf.jpg

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

博客主页:
https://blog.csdn.net/badao_liumang_qizhi

实现

  1. //用于存取取出的颜色对象
  2. List<Color> colorList = new List<Color>();
  3. //通过GetMember获取全部的公共成员
  4. foreach (var item in typeof(Color).GetMembers())
  5. {
  6. //只取属性且为属性中的已知Color,剔除byte属性以及一些布尔属性等(A B G R IsKnownColor Name等)
  7. if (item.MemberType == System.Reflection.MemberTypes.Property && System.Drawing.Color.FromName
  8. (item.Name).IsKnownColor == true)
  9. {
  10. Color color = System.Drawing.Color.FromName(item.Name);
  11. colorList.Add(color);
  12. }
  13. }
  14. //转成数组
  15. Color[] colors = colorList.ToArray();
复制代码

可以检察此时获取的颜色对象的数组为:

090950bnphnxoy68en1xgm.jpg

C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则