C#中怎样获取System.Drawing.Color的所有颜色对象并存到数组中
程序员文章站
2022-05-21 18:09:25
场景 需要在生成一组多条曲线时,随机从一颜色数组中取颜色,至少一百种颜色以上。 而System.Drawing.Color自带140多种颜色 那么怎样将其自带的颜色对象取出并存在数组中。 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 ......
场景
需要在生成一组多条曲线时,随机从一颜色数组中取颜色,至少一百种颜色以上。
而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();
可以查看此时获取的颜色对象的数组为: