zoukankan      html  css  js  c++  java
  • C#的颜色解析及操作和相关Brush

    一、颜色表示方式
    
    
            //
            // Summary:
            //     Creates a System.Drawing.Color structure from a 32-bit ARGB value.
            //
            // Parameters:
            //   argb:
            //     A value specifying the 32-bit ARGB value.
            //
            // Returns:
            //     The System.Drawing.Color structure that this method creates.
            public static Color FromArgb(int argb);argb-such as 0xff0000ff, the first "ff" is the alpha value, and then R,G,B. if the alpha is "00" the color turn to be transparent
    
            //
            // Summary:
            //     Creates a System.Drawing.Color structure from the specified System.Drawing.Color
            //     structure, but with the new specified alpha value. Although this method allows
            //     a 32-bit value to be passed for the alpha value, the value is limited to
            //     8 bits.
            //
            // Parameters:
            //   alpha:
            //     The alpha value for the new System.Drawing.Color. Valid values are 0 through
            //     255.
            //
            //   baseColor:
            //     The System.Drawing.Color from which to create the new System.Drawing.Color.
            //
            // Returns:
            //     The System.Drawing.Color that this method creates.
            //
            // Exceptions:
            //   System.ArgumentException:
            //     alpha is less than 0 or greater than 255.
            public static Color FromArgb(int alpha, Color baseColor);
            //
            // Summary:
            //     Creates a System.Drawing.Color structure from the specified 8-bit color values
            //     (red, green, and blue). The alpha value is implicitly 255 (fully opaque).
            //     Although this method allows a 32-bit value to be passed for each color component,
            //     the value of each component is limited to 8 bits.
            //
            // Parameters:
            //   red:
            //     The red component value for the new System.Drawing.Color. Valid values are
            //     0 through 255.
            //
            //   green:
            //     The green component value for the new System.Drawing.Color. Valid values
            //     are 0 through 255.
            //
            //   blue:
            //     The blue component value for the new System.Drawing.Color. Valid values are
            //     0 through 255.
            //
            // Returns:
            //     The System.Drawing.Color that this method creates.
            //
            // Exceptions:
            //   System.ArgumentException:
            //     red, green, or blue is less than 0 or greater than 255.
            public static Color FromArgb(int red, int green, int blue);
            //
            // Summary:
            //     Creates a System.Drawing.Color structure from the four ARGB component (alpha,
            //     red, green, and blue) values. Although this method allows a 32-bit value
            //     to be passed for each component, the value of each component is limited to
            //     8 bits.
            //
            // Parameters:
            //   alpha:
            //     The alpha component. Valid values are 0 through 255.
            //
            //   red:
            //     The red component. Valid values are 0 through 255.
            //
            //   green:
            //     The green component. Valid values are 0 through 255.
            //
            //   blue:
            //     The blue component. Valid values are 0 through 255.
            //
            // Returns:
            //     The System.Drawing.Color that this method creates.
            //
            // Exceptions:
            //   System.ArgumentException:
            //     alpha, red, green, or blue is less than 0 or greater than 255.
            public static Color FromArgb(int alpha, int red, int green, int blue);
    
    二、颜色操作
    
    
    1、String转换成Color 
                Color color = (Color)ColorConverter.ConvertFromString(string);
    
    2、String转换成Brush
    
                BrushConverter brushConverter = new BrushConverter();
                Brush brush = (Brush)brushConverter.ConvertFromString(string);
    
    3、Color转换成Brush
    
                Brush brush = new SolidColorBrush(color));
    
    4、Brush转换成Color有两种方法:
    
    (1)先将Brush转成string,再转成Color。
    
                Color color= (Color)ColorConverter.ConvertFromString(brush.ToString());
    
    (2)将Brush转成SolidColorBrush,再取Color。
    
                Color color= ((SolidColorBrush)CadColor.Background).Color;
    
     三、Brush
    
    // (实心刷)
    Rectangle rect1 = new Rectangle(20, 80, 250, 100);
    SolidBrush sbrush1 = new SolidBrush(Color.DarkOrchid);                  
    SolidBrush sbrush2 = new SolidBrush(Color.Aquamarine);      
    SolidBrush sbrush3 = new SolidBrush(Color.DarkOrange);
    
             //(梯度刷)
                      LinearGradientBrush lbrush1 = new LinearGradientBrush(rect1,
                      Color.DarkOrange, Color.Aquamarine,
                      LinearGradientMode.BackwardDiagonal);
    
                     //(阴影刷)
                     HatchBrush hbrush1 = new HatchBrush(HatchStyle.DiagonalCross,
                      Color.DarkOrange, Color.Aquamarine);
                      HatchBrush hbrush2 = new HatchBrush(HatchStyle.DarkVertical,
                      Color.DarkOrange, Color.Aquamarine);
                      HatchBrush hbrush3 = new HatchBrush(HatchStyle.LargeConfetti,
                      Color.DarkOrange, Color.Aquamarine);
    
                     //(纹理刷)
                      textureBrush = new TextureBrush(new Bitmap(@"e:123.jpg"));
                      //e.Graphics.FillRectangle(hbrush1, rect1);
                      //e.Graphics.FillRectangle(sbrush1, rect1);
                      //e.Graphics.FillRectangle(textureBrush, rect1);
                      e.Graphics.FillRectangle(lbrush1, rect1);

    转自:http://huangdingjun.blog.163.com/blog/static/3110639201011223130486/

  • 相关阅读:
    [SpriteKit] 制作瓦片地图小游戏
    TouchID 指纹解锁
    iOS-启动动态页跳过设计思路
    iOS-高仿通讯录之商品索引排序搜索
    Python: PS 滤镜--马赛克
    Tensorflow学习笔记——占位符和feed_dict(二)
    Tensorflow学习笔记——张量、图、常量、变量(一)
    IDEA 单元测试
    sublime —— 强大的插件
    window环境下在anconda中安装opencv
  • 原文地址:https://www.cnblogs.com/fengyie55/p/3763391.html
Copyright © 2011-2022 走看看