2014年8月12日 星期二

256灰階的色碼表(C#)

前一篇文件會紅利用程式產出256色的色碼表,這一篇主要是要產生灰階的色碼表,其實作的原理簡單說,我們在使用R,G,B配色的時侯,如果R,G,B的3個值完全相同就會產出一個灰階的顏色,如(100,100,100)。
按以上的理原,小弟實作的程式碼如下:

public string getGrayColor(int totalCount) {
    string html = "";
    int no = 0;
    int color = 255;            
    int step = color / totalCount;
    while (color >= 0)
    {
         string strColor = String.Format("{0:X}", color);
         strColor = strColor.PadLeft(2, '0');
         strColor += strColor + strColor;
         html += ("<DIV style='height:20px;width:300px;background-color:#" + strColor + "'>" + no + "&nbsp;" + strColor + "<DIV>");
         no++;
         color -= step;
    }
    return html;
}


  • 程式的參數totcalCount是表示你希望分幾組灰階。
  • 若執行getGrayColor(20)的執行結果如下:



產生256色的色碼表(c#)

如何使用C#來產生256色階的色碼表,會紅參考了這一個16 色、256 色、高彩、全彩文章,然後利用程式產生出來256色階的色碼表,程式如下:(我有一些小微調)。

實作的原理 : 利用 "00","33","66","99","CC","FF"來組合顏色,是不是很easy啊!!!

protected void Page_Load(object sender, EventArgs e)
{
    string html = "";
    int no = 0;
    foreach (var c1 in new string[] { "FF", "CC", "99", "66", "33", "00" })
    {
       foreach (var c2 in new string[] { "FF", "CC", "99", "66", "33", "00" })
       {
         foreach (var c3 in new string[] { "FF", "CC", "99", "66", "33", "00" })
         {                       
           html += ("<DIV style='height:20px;width:300px;background-color:#" + c1 + c2 + c3 + "'>" + no + "&nbsp;" + c1 + c2 + c3 + "<DIV>");
           no++;
         }
       }
   }
   divShow.InnerHtml = html;
}
執行的結果如下圖: