[C#]生成预定义全颜色表
2013-10-10 21:40
218 查看
生成Color类所有static预定义成员的颜色表
生成效果如图:
const long CELLS_PER_LINE = 10; const float MARGIN = 12; const float CELL_WIDTH = 160; const float CELL_HEIGHT = 64; const float COLOR_LEFT_MARGIN = 8; const float COLOR_TOP_MARGIN = 8; const float COLOR_CELL_WIDTH = 48; const float COLOR_CELL_HEIGHT = 32; const float TEXT_TOP_MARGIN = COLOR_TOP_MARGIN + COLOR_CELL_HEIGHT + 2; List<Color> vColors = new List<Color>(); Type t = typeof(Color); PropertyInfo[] vProps = t.GetProperties(); foreach (PropertyInfo propInfo in vProps) { if (MemberTypes.Property == propInfo.MemberType && typeof(Color) == propInfo.PropertyType) { Color tmpColor = (Color)propInfo.GetValue(null, null); vColors.Add(tmpColor); } } Bitmap bmpColor = new Bitmap((int)(CELLS_PER_LINE * CELL_WIDTH + MARGIN * 2), (int)((vColors.Count / CELLS_PER_LINE + 1) * CELL_HEIGHT + MARGIN * 2)); using (Graphics grp = Graphics.FromImage(bmpColor)) { grp.Clear(Color.Black); for (int i = 0; i < vColors.Count; i++) { float nLeftBase = MARGIN + i % CELLS_PER_LINE * CELL_WIDTH; float nTopBase = MARGIN + i / CELLS_PER_LINE * CELL_HEIGHT; grp.DrawRectangle(new Pen(Color.White), nLeftBase, nTopBase, CELL_WIDTH, CELL_HEIGHT); grp.FillRectangle(new SolidBrush(vColors[i]), nLeftBase + COLOR_LEFT_MARGIN, nTopBase + COLOR_TOP_MARGIN, COLOR_CELL_WIDTH, COLOR_CELL_HEIGHT); grp.DrawString(vColors[i].Name, new Font("宋体", 9, FontStyle.Regular), new SolidBrush(Color.White), nLeftBase + COLOR_LEFT_MARGIN, nTopBase + TEXT_TOP_MARGIN); } } bmpColor.Save(@"D:\AllColor.bmp");
生成效果如图:
相关文章推荐
- [C#]生成预定义全颜色表
- C# 常用的Excel 格式化操作 及 常用颜色定义对应Excel中颜色名
- 在.net(C#)中随机生成较深的颜色
- C#基于XNA生成随机颜色的方法
- C#生成随机颜色,返回16进制字符串
- C#中获取当前系统中安装的所有字体及预定义颜色
- ios开发之自己定义默认生成的导航栏 标题 颜色 返回button
- C# 代码动态生成label,为指定label改变颜色等
- [Winform][C#]获取系统颜色预定义颜色和现有字体集
- C#图片处理:生成大尺寸图片,以边框颜色填充
- MSDN C# Color定义的颜色及值对照表
- 在.net(C#)中随机生成较深的颜色
- C#动态生成按钮及定义按钮事件的方法
- C#中属性实为方法,如果类中只是定义了属性,则编译器会自动生成相应的字段
- C#中获取当前系统中安装的所有字体及预定义颜色
- C#中获取当前系统中安装的所有字体及预定义颜色
- C#生成多颜色的验证码
- C#生成随机颜色
- C# 常用的Excel 格式化操作 及 常用颜色定义对应Excel中颜色名
- C#直接用数字定义背景颜色