程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> [C#]生成預定義全顏色表

[C#]生成預定義全顏色表

編輯:C#入門知識

生成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");  

 

    生成效果如圖:  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved