十六进制颜色如何工作?

时间:2014-03-07 01:37:58

标签: css colors hex

表示CSS颜色的十六进制是什么意思?如果不记住确切的代码,我怎么能告诉它是什么颜色?它与RGB(和CMYK)系统有任何关系吗? 我想了一下,FF表示RGB中的255,但后来我意识到15 ^ 2不是255,而是225。

7 个答案:

答案 0 :(得分:25)

十六进制使用十六个不同的符号,在css颜色的情况下,符号0–9表示0到9(显然)的值,A, B, C, D, E, F表示10到15的值。因此,使用一个十六进制字符可以表示 16 值。使用两个十六进制,您可以表示 256 (16 * 16)值。

RGB中,您的颜色由 R 编辑 G reen B lue(R = 0-255,G = 0-255,B = 0-255),所以我们使用3对十六进制符号!因此,当您看到RGB颜色时,您可以在下面进行计算。

示例:

  

十六进制:#4C8ED5是RGB:76, 142, 213

由于4C = 76 R ed),8E = 142 G reen),D5 = 213 B 略)!

希望它有助于您的理解!

更多阅读:Hexadecimal on Wikipedia和一个很好的RGB到十六进制Converter

答案 1 :(得分:7)

Nimrod100的回答

基本上如果你有FF而且那是RED,因为我们有两个hexdigits(0-9,A-F):     F = 15

15 * (16 ^ 0) = 15
15 * (16 ^ 1) = 240

240 + 15 = 255
RED = 255

(16 ^ 0)和(16 ^ 1)位意味着我们在基数16中工作。 如果您正在做KPE的8040FF示例,我们会这样做:

F = 15

15 * (16 ^ 0) = 15
15 * (16 ^ 1) = 240

240 + 15 = 255
BLUE = 255

然后

8 * (16 ^ 0) = 8
(BECAUSE WE HAVE 0 WE IGNORE IT)
(16 ^ 1) = 16
(BECAUSE WE IGNORED THE ZERO WE * INSTEAD OF +)
8 * 16 = 128
RED = 128

4 * (16 ^ 0) = 4
(BECAUSE WE HAVE 0 WE IGNORE IT)
(16 ^ 1) = 16
(BECAUSE WE IGNORED THE ZERO WE * INSTEAD OF +)
4 * 16 = 64

GREEN = 64

R = 128
G = 64
B = 255

然而,如果您有单个hexdigits,例如。 F,等于15,因此RED = 15

答案 2 :(得分:1)

HEX代码表示三个字节,按顺序分别对应每种RGB颜色。

FF0000是全红色强度,00FF00是全绿色强度,0000FF是全蓝色强度

8040FF对应128 RED,64 GREEN和255 blue

您也可以编写一个简短的表单,其中不指定每个字节的低4位,例如 FFF为全白色,F00为全红色,00F为全蓝色

答案 3 :(得分:1)

根据http://quashnick.net/geek_stuff/HEX2DEC.html

  

十六进制颜色值表示红绿蓝颜色(每个颜色)   使用1个字节)。    RGB 为十进制值,例如RGB(255,255,255),但十六进制颜色代码为十六进制格式#FFFFFF - >(R)FF-(G)FF-(B)FF

     

HEX数字由数字0到9组成,如DEC,但也添加   A-F。因此,当以十六进制计数时:HEX 0 1 2 3 4 5 6 7 8 9 A B.     C D E F

     

DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

     

这是一个十六进制数:1E5DF

     

要将其转换为DEC,我们需要为我们的力量定义基础   功能。由于HEX基于16个不同的数字[0-9A-F],我们的基础   是16岁。

     

要从HEX转换为DEC,请执行以下步骤:我们知道F = 15 in   DEC所以我们使用这个公式(15 * 16 ^ 0)= 15
我们知道D = 13 in   DEC所以我们使用这个公式(13 * 16 ^ 1)= 208
我们知道5 = 5 in   DEC所以我们使用这个公式(5 * 16 ^ 2)= 1280
我们知道E = 14 in   DEC所以我们使用这个公式(14 * 16 ^ 3)= 57344
我们知道1 = 1 in   DEC所以我们使用这个公式(1 * 16 ^ 4)= 65536

     

现在我们将所有数字加在一起以获得HEX的DEC编号   编号1E5DF:
15 + 208 + 1280 + 57344 + 65536 = 124383

     

所以我们的答案是HEX 1E5DF = DEC 124383

详情请见:http://quashnick.net/geek_stuff/HEX2DEC.html
了解有关颜色的更多信息:http://www.w3schools.com/html/html_colors.asp

答案 4 :(得分:1)

在六位十六进制表示法中,数字成对指示RGB系统中的红色,绿色和蓝色分量。例如,#0000FF的红色为0,绿色为0,FF(十进制为15×16 + 15 = 255),即蓝色的最大值(意思是它在RGB)。

在三位数表示法中,每个数字加倍,结果解释如上。例如,#00F表示#0000FF

权威参考:4.3.6 Colors在CSS 2.1中(较新的CSS Values and Units Module Level 3只是规范地引用CSS 2.1来定义; CSS颜色概念有扩展,但它们不会影响这些问题)。

RGB和CMYK是不同的颜色系统;没有可在它们之间进行转换的通用转换公式。

答案 5 :(得分:1)

在其他一些答案中,我发现数学部分相当混乱。

实际上非常简单。我找到了一个很好的解释here.

计算机中的颜色是通过将红色,绿色和蓝色以不同的比例组合来表示的。每种颜色的值都在0到255之间。在RGB表示法中,我们通过写入(255,0,0)表示纯红色,其中绿色和蓝色的值为0。如果我们混合相同量的每种颜色,则会得到不同的灰色阴影。 (123,123,123)为灰色,(0,0,0)代表黑色,(255,255,255)为白色。

十六进制系统采用完全相同的原理和值范围,并尝试以较短的方式表达它们。

在我们常见的十进制系统中,一位数字从0到9,然后我们需要使用两位数字(即10)。

为了始终只用一位数字来表示较大的数字,十六进制系统通过将字母分配给数字10到15来表示一个1字符长的数字。所以现在:10 = A,11 = B,12 = C,13 = D,14 = E,15 = F。 (字母可以是小写)。

让我们看看我们的十进制系统是如何工作的,因为它与十六进制非常相似。在数字13中,第一个数字是1,但代表10,而要减去13,我们加3,13 = 10 + 3。也就是说,我们将右数到第二数始终乘以10,然后再添加下一个数。 23中的2代表20。在十六进制中,我们将从右到左的第二个数字始终乘以16。(十六进制表示十六)。

让我们看一下数字4C。这里我们将4乘以16,因为它是从右到左的第二个数字,即4 * 16 = 64。 C代表12,所以现在我们将其添加到64。64 + 12 = 76,4C = 64。

要表达更大的数字,我们需要编写,我们使用FF表示255。因此,我们可以用6个字符表示红色,绿色和蓝色所需的所有数字。

要进一步缩短此时间,您可以编写3个字符,每个字符加倍。例如,#000代表#000000,或者#ABC将是#AABBCC

现在您能猜出CC9是多少吗?表示颜色不需要此数字,但可以证明您的理解。提示:十进制267表示(2 * 100)+(6 * 10)+(7)或(2 * 10 * 10)+(6 * 10)+(7)。

下面的答案。

-

-

-

-

(C * 16 * 16)+(C * 16)+(9)=

(12 * 16 * 16)+(12 * 16)+(9)=

3072 + 192 + 9 = 3273

答案 6 :(得分:0)

访问this网站,对HEX的工作原理有很好的解释。