如何将 HEX 颜色代码转换为 RGB

· 5 分钟阅读

HEX和RGB是写出完全相同颜色的两种方式。设计师和开发者经常在它们之间切换:CSS样式表中的HEX、JavaScript动画中的RGB、设计工具中的HSL。理解它们之间的关系使颜色工作变得更容易。转换器处理心算,这样您就可以专注于获得正确的颜色,而不是进行16进制除法。

HEX颜色如何工作

#FF5733这样的HEX颜色代码是一个6位十六进制数字,代表红色、绿色和蓝色通道:

部分Hex十进制通道
FFFF255红色
575787绿色
333351蓝色

每个通道范围从00(0,无颜色)到FF(255,全强度)。所以#FF5733意味着全红、一些绿、少许蓝,这给您一个温暖的橙红色。

如何将HEX转换为RGB

  1. 输入您的HEX代码:键入或粘贴像#FF5733这样的颜色代码,或使用颜色选择器。
  2. 查看RGB值:查看等效的红色、绿色和蓝色值(每个0-255)。
  3. 以任何格式复制:获取值作为rgb(255, 87, 51)、单个通道或其他格式如HSL。

网络上颜色代码的简史

早期网络浏览器(Mosaic 1993、Netscape 1994)中的颜色仅使用命名颜色:redbluegreen。HTML 3.2规范(1997)通过BGCOLOR属性引入了十六进制颜色代码,CSS 1(1996)使它们通用化。选择HEX而非十进制是出于实际原因:6字符HEX代码比rgb(255, 87, 51)更短,更容易从颜色选择器复制粘贴。

RGB颜色模型本身要古老得多。James Clerk Maxwell在1861年证明,人眼可见的任何颜色都可以通过混合红、绿、蓝光来创建。电视(1930年代)和计算机显示器(1970年代)直接使用此原理:每个像素是三个子像素(一个红、一个绿、一个蓝),亮度不同。

现代CSS(2010年起)添加了更多颜色格式:hsl()(色调、饱和度、明度)、hwb()(色调、白度、黑度)、lab()(感知均匀)、lch()oklab()oklch()和color()用于任意颜色空间。所有这些都代表与HEX/RGB相同的颜色,但具有不同的心理模型。HEX持续存在是因为它密集、可复制粘贴且易于共享。

手动转换:如何在脑中完成

您不需要工具来转换简单的HEX值。诀窍是了解16的幂:

对于像5A这样的HEX对:第一个数字乘以16加上第二个数字。5A = 5 × 16 + 10 = 90。

快捷方式:

336699CC(任意组合)产生1990年代经典的「网络安全」216色调色板。即使在今天,它们也经常出现在设计师的情绪板中。

常见颜色代码

颜色HEXRGB
白色#FFFFFFrgb(255, 255, 255)
黑色#000000rgb(0, 0, 0)
红色#FF0000rgb(255, 0, 0)
绿色#00FF00rgb(0, 255, 0)
蓝色#0000FFrgb(0, 0, 255)
黄色#FFFF00rgb(255, 255, 0)
青色#00FFFFrgb(0, 255, 255)
洋红色#FF00FFrgb(255, 0, 255)
Tailwind slate-900#0F172Argb(15, 23, 42)
Tailwind blue-500#3B82F6rgb(59, 130, 246)
Material indigo 500#3F51B5rgb(63, 81, 181)
GitHub按钮绿色#2EA44Frgb(46, 164, 79)

带alpha的HEX(8位HEX)

CSS 4(2017)引入了带alpha通道的8位HEX。#FF5733CCrgb(255, 87, 51)带80%不透明度(CC在hex中 = 204,除以255 = 0.80)。

现代浏览器中的浏览器支持是通用的(Chrome 62+、Firefox 49+、Safari 9.1+、Edge 79+)。对于新项目,8位HEX是rgba()的干净替代品。对于旧项目,保留rgba()以实现向后兼容性。

还存在一个4位短HEX:#F80C#FF8800CC相同。与3位HEX相同的快捷规则。

每种格式的用例

使用HEX时:

使用RGB时:

使用HSL时:

使用OKLCH时:

常见陷阱

提示

隐私

HEX到RGB转换器完全在您的浏览器中运行。您输入的颜色、自定义调色板和任何保存的值都保留在您的设备上。这比文件转换工具的重要性要小(颜色代码不是个人敏感的),但对于设计机密性原因来说很重要:您正在试验的颜色可能会泄露未宣布的品牌方向、NDA下的客户工作或正在开发的产品主题。仅浏览器计算具有零暴露。

常见问题

如何手动将 HEX 转换为 RGB?

将 hex 代码分成三对(如 #FF8800 变为 FF、88、00)。把每对从 16 进制转为 10 进制。FF = 255,88 = 136,00 = 0。结果是 rgb(255, 136, 0)。

3 位 HEX 代码怎么处理?

3 位 HEX 是一种简写,每位数字都被重复。#F80 等同于 #FF8800。大多数转换器会自动处理两种格式。

什么时候用 HEX,什么时候用 RGB?

HEX 更紧凑,在 CSS 中更常见。需要在代码中分别操作通道或使用 rgba() 处理透明度时,RGB 更合适。两者表示的颜色相同。

HEX 代码中的 # 是什么意思?

井号(#)是一个前缀,表示该值是一个十六进制颜色代码。它不是值本身的一部分。一些工具接受带或不带井号的代码。