C# Color.FromArgb()及系统颜色对照表一览
作者:小宇飞刀 时间:2021-05-24 08:21:02
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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/xieyunc/article/details/89193393
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
详解JAVA 强引用
Java Property类使用详解
![](https://img.aspxhome.com/file/2023/7/58667_0s.png)
maven <repositories>标签和<pluginRepositories>标签的使用
Java 面试题和答案 -(上)
Flutter路由传递参数及解析实现
![](https://img.aspxhome.com/file/2023/5/90155_0s.gif)
java的基本数据类型及属性
android异步消息机制 从源码层面解析(2)
![](https://img.aspxhome.com/file/2023/2/85972_0s.png)
SpringBoot依赖管理的源码解析
![](https://img.aspxhome.com/file/2023/6/65336_0s.png)
Java使用DateFormatter格式化日期时间的方法示例
![](https://img.aspxhome.com/file/2023/2/70322_0s.jpg)
Springboot配置security basic path无效解决方案
SpringBoot重写addResourceHandlers映射文件路径方式
![](https://img.aspxhome.com/file/2023/3/66183_0s.jpg)
使用java技术抓取网站上彩票双色球信息详解
![](https://img.aspxhome.com/file/2023/1/60111_0s.jpg)
详解Java设计模式编程中的访问者模式
![](https://img.aspxhome.com/file/2023/0/58920_0s.jpg)
java实现读取、删除文件夹下的文件
如何将默认的maven仓库改为阿里的maven仓库
![](https://img.aspxhome.com/file/2023/6/61526_0s.png)
Unity脚本自动添加头部注释的全过程
![](https://img.aspxhome.com/file/2023/3/69813_0s.png)
Java 数据结构与算法系列精讲之KMP算法
![](https://img.aspxhome.com/file/2023/7/64907_0s.jpg)
java寻找迷宫路径的简单实现示例
你都理解创建线程池的参数吗?
![](https://img.aspxhome.com/file/2023/2/61662_0s.jpg)