将颜色代码转换成C#中的Color

     public  Color ToColor( string  color)
    {

        
int  red, green, blue  =   0 ;
        
char [] rgb;
        color 
=  color.TrimStart( ' # ' );
        color 
=  Regex.Replace(color.ToLower(),  " [g-zG-Z] " "" );
        
switch  (color.Length)
        {
            
case   3 :
                rgb 
=  color.ToCharArray();
                red 
=  Convert.ToInt32(rgb[ 0 ].ToString()  +  rgb[ 0 ].ToString(),  16 );
                green 
=  Convert.ToInt32(rgb[ 1 ].ToString()  +  rgb[ 1 ].ToString(),  16 );
                blue 
=  Convert.ToInt32(rgb[ 2 ].ToString()  +  rgb[ 2 ].ToString(),  16 );
                
return  Color.FromArgb(red, green, blue);
            
case   6 :
                rgb 
=  color.ToCharArray();
                red 
=  Convert.ToInt32(rgb[ 0 ].ToString()  +  rgb[ 1 ].ToString(),  16 );
                green 
=  Convert.ToInt32(rgb[ 2 ].ToString()  +  rgb[ 3 ].ToString(),  16 );
                blue 
=  Convert.ToInt32(rgb[ 4 ].ToString()  +  rgb[ 5 ].ToString(),  16 );
                
return  Color.FromArgb(red, green, blue);
            
default :
                
return  Color.FromName(color);

        }
    }

你可能感兴趣的:(color)