C# Color.FromArgb()及系统颜色对照表一览

 更新时间:2021年01月14日 14:32:19   作者:小宇飞刀  
这篇文章主要介绍了C# Color.FromArgb()及系统颜色对照表一览,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

C#关于颜色值的表示:

常用的颜色值表示方式有两种,一种是10进制的RGB值表示,如(0,113,255),三个值分别表示(红,绿,蓝);一种是16进制的颜色码表示,如#ff3212。这两种形式在编程中都可以用到。若是在VS设计器中,设置某个控件的前景色或背景色时,可直接用0,113,255或#ff3212的形式,而在后台代码中,也可以通过Color.FromArgb()方法使用这两种形式来定义颜色。

Color.FromArgb()方法的重载及使用

Color.FromArgb()方法共有四种重载形式,MSDN上列出来这四种重载方法的说明已足够解释各个参数的含义。

其中alpha分量值即透明度设置要比较注意:

Color.FromArgb (Int32, Int32, Int32)方法是没有设alpha值的,默认为255,即不透明。而在使用Color.FromArgb (Int32)方法时,alpha值是默认为0的,例16进制颜色码#dd2378,使用Color.FromArgb (0xdd2378)来定义颜色,则alpha值是默认为0,该颜色是全透明的,所以看不到该颜色。要想显示出该颜色,必须设置alpha值>0,如:Color.FromArgb (0x7fdd2378);此时颜色为半透明。当然也可以将alpha值设置为全不透,其值为0xffdd2378。

不过在使用该值时有些注意事项,因为0xffdd2378是无符号整型uint类型,而Color.FromArgb (Int32)的参数是int型,因此必须使用强制转化Color.FromArgb((int)0xffdd2378),不过即使这样,程序仍会报错,需要使用unchecked重写才能成功(unchecked 关键字用于取消整型算术运算和转换的溢出检查)。

我通过几句简单的代码来说明这个问题,代码如下:

 button1.BackColor = Color.FromArgb(0xdd2378);
 button2.BackColor = Color.FromArgb(0x7fdd2378);
 unchecked //在后续的作用域范围内,取消整型算术运算和转换的溢出检查
 {
 button3.BackColor = Color.FromArgb((int)0xffdd2378);
 }

如图所示,这是使用Color.FromArgb (Int32)方法设置按钮背景色时使用三个不同值的效果。其差别一目了然。

C#中的颜色对照表

使用方法:

Color c1 = Color.FromArgb(32,178,170); //此方法设置的颜色,其透明度属性alpha=255,完全不透明。 
Color c2 = Color.FromKnownColor(KnownColor.LightSeaGreen);
Color c3 = System.Drawing.Color.Lime;

颜色对照表 参考下面:

补充:# 颜色表

以下的颜色代码取自HTML规范,这些颜色的名称对应于KnownColor的属性。比如,你可以用以下代码来创建一个Color对象:

Color c = Color.FromKnownColor(KnownColor.colorname);

所有的colorname在后面的表格中一一列出,这些颜色对应的RGB值列在名字的后面,你可以使用FromArgb方法来创建Color对象。以下两行实际上创建了同一种颜色:

Color c1 = Color.FromArgb(32,178,170);
Color c2 = Color.FromKnownColor(KnownColor.LightSeaGreen);

在下面这张表中,我严格依照颜色的RGB值设置对应颜色的显示。你所看到的真实效果依赖于浏览器是否准确处理了对应24位色的颜色显示(一些浏览器可能将某些颜色映射成“最接近的网页调色板颜色”),显示器的调节或者你显卡的校正值。因此显示效果会略有不同。

补充:

还有一些获取颜色的方式:

Color c1 = Color.AliceBlue; //Color类自带的静态颜色对象Color c2 = Color.FromArgb(0x20B2AA);  //网页里面提取的颜色(原格式为#20B2AA)

C#颜色和名称对照表

A B C D E F G H I J K L M

N O P Q R S T U V W X Y Z

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • C#中for循环、while循环循环执行的方法

    C#中for循环、while循环循环执行的方法

    这篇文章主要介绍了C#中for循环、while循环循环执行的方法的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-06-06
  • C#中使用Split方法拆分字符串实例

    C#中使用Split方法拆分字符串实例

    这篇文章主要介绍了C#中使用Split方法拆分字符串实例,本文给出了使用一个分隔符和多个分隔符拆分字符串的例子,需要的朋友可以参考下
    2014-08-08
  • C# TabControl控件中TabPage选项卡切换时的触发事件问题

    C# TabControl控件中TabPage选项卡切换时的触发事件问题

    这篇文章主要介绍了C# TabControl控件中TabPage选项卡切换时的触发事件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • C#引用访问权限分析

    C#引用访问权限分析

    这篇文章主要介绍了C#引用访问权限问题,对比C#与Java实例分析了C#在引入引用访问权限特性之后的具体用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • C#中TCP通信的实现示例

    C#中TCP通信的实现示例

    本文介绍了C#中TCP通信的实现示例,包括服务端和客户端的角色,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • 解析C# Console 控制台为什么也会卡死(原因分析)

    解析C# Console 控制台为什么也会卡死(原因分析)

    在分析旅程中,总会有几例控制台的意外卡死导致的生产事故,有经验的朋友都知道,控制台卡死一般是动了快速编辑窗口的缘故,虽然知道缘由,但一直没有时间探究底层原理,市面上也没有对这块的底层原理介绍,昨天花了点时间简单探究了下,感兴趣的朋友一起看看吧
    2023-10-10
  • C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)

    C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)

    这篇文章主要介绍了C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等),本文收集整理了多个扩展函数,简单实用,项目必备,如值范围、在里面吗、是null或""?、是零?等等,需要的朋友可以参考下
    2015-06-06
  • 如何在Mac系统使用Visual Studio Code运行Python

    如何在Mac系统使用Visual Studio Code运行Python

    这篇文章主要介绍了Mac使用Visual Studio Code运行Python环境的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 深入分析C# Task

    深入分析C# Task

    这篇文章主要介绍了C# Task的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习C# Task的相关知识,感兴趣的朋友可以了解下
    2020-08-08
  • C# OpenCvSharp实现去除文字中的线条

    C# OpenCvSharp实现去除文字中的线条

    这篇文章主要为大家详细介绍了C#如何使用OpenCvSharp实现去除文字中的线条效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11

最新评论