十六进制颜色如何工作?

问题描述 投票:14回答:6

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

css colors hex
6个回答
25
投票

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

RGB你有红绿蓝代表的颜色(R = 0-255,G = 0-255,B = 0-255),所以我们使用3对十六进制符号!因此,当您看到RGB颜色时,您可以在下面进行计算。

例:

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

因为4C = 76(红色),8E = 142(绿色),D5 = 213(蓝色)!

希望它有助于您理解!

更多内容:qazxsw poi和一个很好的RGB到十六进制qazxsw poi


7
投票

Nimrod100的答案

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

Hexadecimal on Wikipedia

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

Converter

然后

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

240 + 15 = 255
RED = 255

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


1
投票

HEX代码表示三个字节,每个RGB颜色依次为一个字节。

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

8040FF对应128个红色,64个绿色和255个蓝色

你也可以写一个简短的表格,你没有指定每个字节的低4位,如全白色的FFF,全红色的F00,全蓝色的00F


1
投票

在六位十六进制表示法中,数字成对指示RGB系统中的红色,绿色和蓝色分量。例如,F = 15 15 * (16 ^ 0) = 15 15 * (16 ^ 1) = 240 240 + 15 = 255 BLUE = 255 的红色为0,绿色为0,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 (十进制为15×16 + 15 = 255),即蓝色的最大值(意思是RGB中的最大值)。

在三位数表示法中,每个数字加倍,结果如上所述。例如,#0000FF意味着FF

权威参考:4.3.6 CSS 2.1中的#00F(较新的#0000FF只是规范地引用了CSS 2.1这个定义; CSS颜色概念有扩展,但它们不影响这些问题)。

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


1
投票

根据Colors

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

十六进制数字由数字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,请按照下列步骤操作:我们知道DEC中的F = 15,因此我们使用此公式(15 * 16 ^ 0)= 15 我们知道在DEC中D = 13,所以我们使用这个公式(13 * 16 ^ 1)= 208 我们知道在DEC中5 = 5,所以我们使用这个公式(5 * 16 ^ 2)= 1280 我们知道DEC中的E = 14,所以我们使用这个公式(14 * 16 ^ 3)= 57344 我们知道在DEC中1 = 1,所以我们使用这个公式(1 * 16 ^ 4)= 65536

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

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

阅读更多:CSS Values and Units Module Level 3 了解更多颜色:http://quashnick.net/geek_stuff/HEX2DEC.html


1
投票

我发现其他一些答案中的数学部分相当令人困惑。

它实际上非常简单。我找到了一个很好的解释http://quashnick.net/geek_stuff/HEX2DEC.html

计算机中的颜色通过组合不同比例的红色,绿色和蓝色来表示。每种颜色的值,范围从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

© www.soinside.com 2019 - 2024. All rights reserved.