zoukankan      html  css  js  c++  java
  • 认识Color 类

     

         public static System.Drawing.Color ConvertStringToColor(string colorString)
            {
                System.Drawing.Color color;
                
    if (colorString[0== '#' && colorString.Length < 8)
                {
                    
    string s = colorString.Substring(1);
                    
    while (s.Length != 6)
                    {
                        s 
    = string.Concat("0", s);
                    }
                    
    int red = Convert.ToInt32(s.Substring(02), 16);
                    
    int green = Convert.ToInt32(s.Substring(22), 16);
                    
    int blue = Convert.ToInt32(s.Substring(42), 16);
                    color 
    = System.Drawing.Color.FromArgb(red, green, blue);
                }
                
    else
                {
                    color 
    = System.Drawing.Color.FromName(colorString);
                }
                
    return color;
            }
            
    public static string ColorToString(System.Drawing.Color color)
            {
                
    string result;
                
    if (color.IsKnownColor || color.IsNamedColor || color.IsSystemColor)
                {
                    result 
    = color.Name;
                }
                
    else
                {
                    result 
    = string.Concat("#", color.ToArgb().ToString("X").Substring(2));
                }
                
    return result;
            }


    >>把Color转变成#FFFFFF格式的字符串   
      Color   c   =   Color.White;   
      String   s   =   String.Format("#{0:X2}{1:X2}{2:X2}",c.R,c.G,c.B);   
        
      >>#FFFFFF格式的字符串转变成Color   

      Color   c   =   System.Drawing.ColorTranslator.FromHtml("#FF0000");   

     

     

    Color结构:表示ARGB颜色
    [SerializableAttribute]
    public struct Color

    Color.FromArgb方法
    基于四个8位ARGB分量(alpha,红色,绿色,和蓝色)值创建Color结构.
    重载列表:
    Color.FromArgb(Int32) 从一个32位ARGB值创建Color结构
       注意:32位ARGB值的字节顺序为AARRGGBB 分别代表 alpha分量值,红色,绿色,蓝色.
         Color.FromArgb(0x78FF0000);
    Color.FromArgb(Int32,Color) 从指定的结构创建Color结构,但要使用新指定的alpha值.
       注意:alpha是新Color的alpha值,有效值为从0到255.
       Color.FromArgb(alpha,Color.Red);
    Color.FromArgb(Int32,Int32,Int32) 从指定的8位颜色值(RGB)创建Color结构,alpha默认为255完全不透明.
       Color.FromA#0000ff;
    Color.FromArgb(Int32,Int32,Int32,Int32) 从四个ARGB分量值创建Color结构.
       Color.FromArgb(120,0,255,0);

    常见颜色:

    Black, silver, gray, white, maroon, red, purple, fuchsia, green, lime, olive, yellow, navy, blue, teal, and aqua.

    系统颜色:

    CaptionText on ActiveCaption, ButtonText on ButtonFace, WindowText on Window, etc.

    ColorConverter类 将颜色从一种数据类型转换为另一种数据类型,通过TypeDescriptor访问此类.
    public class ColorConverter :TypeConverter
    注意:当从某个字符串转换为Color时,ColorConverter要求使用非限定颜色名称;应该是Blue
    而不是System.Drawing.Color.Blue 或Color.Blue

    Color myColor = Color.PaleVioletRed;
    System.ComponentModel.TypeConverter converter = System.ComponentModel.TypeDescriptor.GetConverter(myColor);
    string colorAsString = converter.ConvertToString(Color.PaleVioletRed);

    还有一个ColorTranslator类 sealed
    常用方法:
    FromHtml将HTML颜色表示形式翻译成GDI+Color结构
    Color myColor = ColorTranslator.FromHtml("Blue");
    FromOle将OLE颜色翻译成GDI+Color结构
    int oleColor = 0xFF00;
    Color myColor = ColorTranslator.FromOle(oleColor);
    FromWin32 将 Windows 颜色值翻译成 GDI+ Color 结构。
    int winColor = 0xA000;
    Color myColor = ColorTranslator.FromWin32(winColor);

     

  • 相关阅读:
    FGMap加载天地图地图数据
    FGMap学习之加载51地图
    SuperMap Desktop中配置Google Maps地图投影
    VS2003 试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器
    C# Socket编程 同步以及异步通信(转)
    VBS 常用总汇 (http://blog.csdn.net/sgear/article/details/1380223)
    C#多线程学习 多线程的自动管理(线程池)(转)
    SQL 数据导出 到文件
    http隧道和xml (转)
    HTTP报文格式(转)
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/1656427.html
Copyright © 2011-2022 走看看