首页 > 代码库 > C#的颜色解析及操作和相关Brush
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/
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。