十六进制颜色如何工作?

jas*_*hao 18 css hex colors

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

Bra*_*ect 28

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

RGB必须由表示的颜色- [R ED ģ略(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 lue)!

希望它有助于您理解!

更多内容:维基百科上的十六进制和一个很好的RGB到十六进制转换器

  • 我认为值得解释一下转换背后的数学原理:如果将“HEX”代码视为 3 对符号,并且始终将每对中的第一个符号乘以 16,将第二个符号乘以 1,那么您将得到“ RGB`值。本例中:(4*16 + 12*1), (8*16 + 14*1), (13*16 + 5*1) = 76, 142, 213 RGB值 (5认同)

小智 7

Nimrod100的答案

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

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

240 + 15 = 255
RED = 255
Run Code Online (Sandbox Code Playgroud)

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

F = 15

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

240 + 15 = 255
BLUE = 255
Run Code Online (Sandbox Code Playgroud)

然后

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
Run Code Online (Sandbox Code Playgroud)

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

  • 这个公告你的名字需要什么? (4认同)

Ale*_*mus 6

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

其实超级简单。我在这里找到了一个很好的解释

计算机中的颜色是通过不同比例的红、绿、蓝组合来表示的。每种颜色的值,范围从 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。(十六进制表示 16)。

让我们看看数字 4C。这里我们乘以 4 乘以 16,因为它是从右到左的第二个数字,4*16=64。C 代表 12,所以现在我们把它加到 64。64+12=76,所以最终答案是 4C=76。

为了表示红色、蓝色或绿色值的最大可能数,我们写 FF 代表 255。因此 #FFFFFF 将等于 (255,255,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

  • 这个答案给出了对十六进制工作原理的实际理解。谢谢你!! (4认同)