在很多软件中,都会遇到设定颜色值的问题,初学者往往不理解颜色是如何与一串数字和字母对应的。这里我们就来简单介绍一下。
人的眼睛看到的颜色有两种:
1. 一种是发光体发出的颜色,比如计算机显示器屏幕显示的颜色;
2. 另一种是物体本身不发光,而是反射的光产生的颜色,比如看报纸和杂志上的颜色。
我们又知道任何颜色都是由三种最基本的颜色叠加形成的,这三种颜色称为“三原色”。
1. 对于上面提到的第一种颜色,即发光体的颜色模式,又称为“加色模式”,三原色是“红”、“绿”、“蓝”三种颜色。加色模式又称为“RGB模式”;
2. 而对于印刷品这样的颜色模式,又称为“减色模式”,它的三原色是“青”、“洋红”、“黄”三种颜色。减色模式又称为“CMY”模式。
理解了上述原理,我们就可以集中到常用于屏幕显示的RGB模式上了。
例如,在网页上要指定一种颜色,就要使用RGB模式来确定,方法是分别指定R/G/B,也就是红/绿/蓝三种原色的强度,通常规定,每一种颜色强度最低为0,最高为255,并通常都以16进制数值表示,那么255对应于十六进制就是FF,并把三个数值依次并列起来 ,以#开头。
例如,颜色值“#FF0000”为红色,因为红色的值达到了最高值 FF(即十进制的255),其余两种颜色强度为0。在例如“#FFFF00”表示黄色,因为当红色和绿色都为最大值,且蓝色为0时,产生的就是黄色。
到这里,我们就清楚了常用的颜色的表达方法了。例如在HTML语言规范中定义,可以通过两种方式指定颜色。
1. 一种方式是以定义好的颜色名称表示,具体的颜色名称针对不同的浏览器也有所不同。
2. 另一种方式通过一个以“#”开头的6位十六进制数值表示一种颜色。 6位数字分为3组,每组两位,依次表示红、绿、蓝三种颜色的强度。
下面这个表中显示IE浏览器所支持的颜色名称,以及相应的十六进制数值。
iceblue (#F0F8FF) | antiquewhite (#FAEBD7) | aqua (#00FFFF) | aquamarine (#7FFFD4) |
azure (#F0FFFF) | beige (#F5F5DC) | bisque (#FFE4C4) | black (#000000) |
blanchedalmond (#FFEBCD) | blue (#0000FF) | blueviolet (#8A2BE2) | brown (#A52A2A) |
burlywood (#DEB887) | cadetblue (#5F9EA0) | chartreuse (#7FFF00) | chocolate (#D2691E) |
coral (#FF7F50) | cornflowerblue (#6495ED) | cornsilk (#FFF8DC) | crimson (#DC143C) |
cyan (#00FFFF) | darkblue (#00008B) | darkcyan (#008B8B) | darkgoldenrod (#B8860B) |
darkgray (#A9A9A9) | darkgreen (#006400) | darkkhaki (#BDB76B) | darkmagenta (#8B008B) |
darkolivegreen (#556B2F) | darkorange (#FF8C00) | darkorchid (#9932CC) | darkred (#8B0000) |
darksalmon (#E9967A) | darkseagreen (#8FBC8B) | darkslateblue (#483D8B) | darkslategray (#2F4F4F) |
darkturquoise (#00CED1) | darkviolet (#9400D3) | deeppink (#FF1493) | deepskyblue (#00BFFF) |
dimgray (#696969) | dodgerblue (#1E90FF) | firebrick (#B22222) | floralwhite (#FFFAF0) |
forestgreen (#228B22) | fuchsia (#FF00FF) | gainsboro (#DCDCDC) | ghostwhite (#F8F8FF) |
gold (#FFD700) | goldenrod (#DAA520) | gray (#808080) | green (#008000) |
greenyellow (#ADFF2F) | honeydew (#F0FFF0) | hotpink (#FF69B4) | indianred (#CD5C5C) |
indigo (#4B0082) | ivory (#FFFFF0) | khaki (#F0E68C) | lavender (#E6E6FA) |
lavenderblush (#FFF0F5) | lawngreen (#7CFC00) | lemonchiffon (#FFFACD) | lightblue (#ADD8E6) |
lightcoral (#F08080) | lightcyan (#E0FFFF) | lightgoldenrodyellow (#FAFAD2) | lightgreen (#90EE90) |
lightgrey (#D3D3D3) | lightpink (#FFB6C1) | lightsalmon (#FFA07A) | lightseagreen (#20B2AA) |
lightskyblue (#87CEFA) | lightslategray (#778899) | lightsteelblue (#B0C4DE) | lightyellow (#FFFFE0) |
lime (#00FF00) | limegreen (#32CD32) | linen (#FAF0E6) | magenta (#FF00FF) |
maroon (#800000) | mediumaquamarine (#66CDAA) | mediumblue (#0000CD) | mediumorchid (#BA55D3) |
mediumpurple (#9370DB) | mediumseagreen (#3CB371) | mediumslateblue (#7B68EE) | mediumspringgreen (#00FA9A) |
mediumturquoise (#48D1CC) | mediumvioletred (#C71585) | midnightblue (#191970) | mintcream (#F5FFFA) |
mistyrose (#FFE4E1) | moccasin (#FFE4B5) | navajowhite (#FFDEAD) | navy (#000080) |
oldlace (#FDF5E6) | olive (#808000) | olivedrab (#6B8E23) | orange (#FFA500) |
orangered (#FF4500) | orchid (#DA70D6) | palegoldenrod (#EEE8AA) | palegreen (#98FB98) |
paleturquoise (#AFEEEE) | palevioletred (#DB7093) | papayawhip (#FFEFD5) | peachpuff (#FFDAB9) |
peru (#CD853F) | pink (#FFC0CB) | plum (#DDA0DD) | powderblue (#B0E0E6) |
purple (#800080) | red (#FF0000) | rosybrown (#BC8F8F) | royalblue (#4169E1) |
saddlebrown (#8B4513) | salmon (#FA8072) | sandybrown (#F4A460) | seagreen (#2E8B57) |
seashell (#FFF5EE) | sienna (#A0522D) | silver (#C0C0C0) | skyblue (#87CEEB) |
slateblue (#6A5ACD) | slategray (#708090) | snow (#FFFAFA) | springgreen (#00FF7F) |
steelblue (#4682B4) | tan (#D2B48C) | teal (#008080) | thistle (#D8BFD8) |
tomato (#FF6347) | turquoise (#40E0D0) | violet (#EE82EE) | wheat (#F5DEB3) |
white (#FFFFFF) | whitesmoke (#F5F5F5) | yellow (#FFFF00) | yellowgreen (#9ACD32) |
请注意,尽管这些颜色名称可能不被其它浏览器使用,但 RGB 颜色值应该可以在不同浏览器间正确显示。如果想要为跨越不同浏览器工作的 Web 页指定颜色值,那么应该使用 RGB 颜色值。