"#RRGGBB"与Color类型的转换,ColorConverter和WebColorConverter之间的差别

在System.Drawing命名空间有一个ColorConverter类,可以进行一些Color的转换操作,但它并不能满足在Web开发中的应用,比如,我们在HTML中经常会使用"#FFFCCC"之类的六位制RGB表示颜色的方法,而ColorConverter却只能将这种字符串转换成System.Drawing.Color类型的实例,不能将之再还原成"#FFFCCC"。
其实要做到"#xxxxxx"与Color类型之间的自由转换,我们可以借助System.Web.UI.WebControls.WebColorConverter类。

using System;
using System.Web.UI.WebControls;
using System.Drawing;

namespace ConsoleApplication1
{
    
class Class1
    
{
        [STAThread]
        
static void Main(string[] args)
        
{
            ColorConverter wcc 
= new WebColorConverter();
            Color c 
= (Color)wcc.ConvertFromString("#FFf000");
            Console.WriteLine(c.ToString());
            
string blue = wcc.ConvertToString(Color.Blue);
            Console.WriteLine(blue);
            Console.WriteLine(wcc.ConvertToString(c));
            Console.ReadLine();
        }

    }

}


上面这段代码得到的显示分别为:
Color [A=255,R=255,G=240,B=0]
Blue
#FFF000

posted @ 2005-08-16 15:02  Think  阅读(3833)  评论(8编辑  收藏  举报