黑色
纯黑。三个通道都为零 —— 没有发出任何光。HEX 代码 (#000000)。
rgb(0 0 0) → #000000 屏幕上的纯黑很少是合适的设计选择 —— 正文文本不妨试试 `#111` 或 OKLCH 感知亮度 0.1–0.15,更柔和。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
在浏览器中把 RGB 转成 HEX —— 整数、百分比通道以及 rgba alpha 全部支持。免费、即时、免注册,您的颜色永远不会离开本页。
浅色
深色
灰调
和谐色
— — — — — RGB 转 HEX 转换器是一个小型工具,把三个 0–255 整数通道值(`rgb(255 87 51)`)转成编码同一颜色的 6 字符 HEX 代码(`#FF5733`)。自 1990 年代末以来,RGB 与 HEX 就是每一份 Web 样式表、每一个设计工具、每一条图像-像素流水线所围绕构建的两种格式,而它们之间的转换也是颜色工具中最常见的单一操作 —— 与其反向兄弟一起,这套精确的变换每天在 Web 上的每一个 Figma 插件、CSS 预处理器、设计 token 构建与取色器 UI 中要跑上百万次。RGB 是面向通道地址的格式,硬件 API、canvas 绘制调用、图像缓冲区操作、OpenGL 颜色属性,以及大多数图形 SDK 都原生这样报告 —— 三个独立的 0–255 整数,直接映射到 LCD 的红、绿、蓝子像素或 CRT 的荧光粉。HEX 是 Figma、Sketch、Photoshop 以及每一份品牌指南 PDF 期望的简短复制粘贴格式 —— 一个 6 字符的 16 进制字符串,能舒服地放进 CSS 自定义属性,等您的眼睛学会这些模式之后一眼就能读出来。两者之间的转换是机械的:把每个整数转成 2 位 16 进制对,前置 `#` 拼接。本工具在您输入时实时跑这套转换,无需点击「转换」按钮,同时免费在 HEX 输出旁同屏展示其他每一种常见颜色格式(HSL、OKLCH、OKLAB、HSV、HWB、CMYK,加上 148 个 CSS 命名颜色)。
**HEX 格式本身值得仔细看一眼。** 标准 CSS HEX 有四种合法形态。规范的 6 位形式 `#RRGGBB` 把三个 8 位通道打包成 6 个 16 进制数字 —— 合计 16,777,216 种颜色(256³)。3 位简写 `#RGB` 是一种压缩形式,每一位复制一次形成 6 位等价值:`#F73` 展开为 `#FF7733`,**而不是** `#000F73`(这是 CSS 颜色语法最常被搞错的规则之一)。带 alpha 的 8 位形式 `#RRGGBBAA` 在末尾附加一对 2 位 alpha,在 0–`FF` 比例上,`00` 完全透明、`FF` 完全不透明。4 位 alpha 简写 `#RGBA` 通过对每一位(包括 alpha 那一位)复制一次,与 3 位简写镜像。HEX 大小写无关 —— `#ff5733` 与 `#FF5733` 解析结果相同,尽管大多数品牌指南都会挑一种大小写约定并保持一致。选 16 进制是因为方便:一个 HEX 数字 = 半字节 = 4 位,两个数字 = 字节 = 0–255,所以一个 2 位对正好对应一个 8 位通道,不会浪费填充。
转换数学在两个方向上都很干净。**RGB 转 HEX**:对每个通道,调用 `value.toString(16).padStart(2, '0')` 得到 2 位 HEX 对(`padStart` 很关键 —— 没有它,通道值 5 会被序列化为 `'5'` 而不是 `'05'`,生成非法 HEX),然后拼接。对于带 alpha 的 RGB(`rgb(R G B / A)` 或 `rgba(R, G, B, A)`),把 0–1 的 alpha 浮点数乘以 255、舍入到最近的整数、HEX 编码为第 4 个对、输出 8 位形式。**HEX 转 RGB** 是其逆运算:用 `parseInt(hex.slice(1, 3), 16)` 等把 6 位 HEX `#RRGGBB` 解析成三个 2 位 16 进制数。两个方向都是比特精确的:16² = 256,正好对应每个通道占用的 0–255 字节区间,因此 RGB → HEX → RGB 往返产出原始整数逐字一致、无浮点漂移。
**CSS 中为什么用 HEX 而不是 RGB?** 三个理由。HEX 更短 —— `#FF5733` 是 7 个字符,而 `rgb(255, 87, 51)` 是 16 个字符;在 CSS 自定义属性或 Tailwind 配置对象里被密集打包时,这一差别就很有意义。HEX 没有空白字符的烦恼 —— CSS 压缩器、JSON 序列化器以及命令行工具处理一个 7 字符字符串都很干净,不必担心圆括号匹配或逗号转义。HEX 是整个设计工具生态原生说的格式 —— Figma 的颜色面板、Sketch 的色卡、Photoshop 的取色器、每一份品牌指南 PDF、每一张 Dribbble 截图的颜色注解 —— 全部默认导出 HEX。从设计师到开发者的复制粘贴通道是 HEX 形状的,这就是 RGB 转 HEX 这一转换之所以如此频繁的原因:开发者从非设计工具(canvas 调用、截图吸管、硬件传感器)拿到 RGB,需要把它变成栈中其他部分期望的 HEX 形式。
本工具的 RGB → HEX 工作流是 5 个辐条家族中的一个方向,它们共享同一个底层统一颜色转换器。专用的 统一颜色转换器是中枢 —— 它同时显示全部 9 种格式且都可编辑,当您的工作流需要的不只是 RGB 与 HEX 时,这才是合适的工具。各个单向辐条针对特定的 Google 搜索意图:反向的 HEX 转 RGB 转换器处理反方向(从 Figma 拿一个 HEX、读出 0–255 整数);HEX 转 HSL 转换器对应面向设计师的传统认知空间;HEX 转 OKLCH 转换器对应现代感知均匀设计系统(Tailwind v4 与 shadcn 现在都默认 OKLCH);以及 HEX 转 CMYK 转换器用于印刷准备近似。这 5 个辐条和中枢共享同一套解析引擎与同一套转换数学,因此结果在整个家族中可保证完全一致。每一次转换都在浏览器中本地运行 —— 您的 RGB 值绝不会上传、绝不会被记录,键入时零网络请求。可在 DevTools 中亲自验证。
// Serialize {r, g, b, alpha} → canonical hex string
// Emits 6-digit #RRGGBB when alpha === 1, 8-digit #RRGGBBAA otherwise.
function formatHex({ r, g, b, alpha = 1 }) {
const pair = (v) => Math.round(v).toString(16).padStart(2, '0').toUpperCase();
const rgb = pair(r) + pair(g) + pair(b);
if (alpha >= 1) return `#${rgb}`;
const a = pair(alpha * 255);
return `#${rgb}${a}`;
}
console.log(formatHex({ r: 255, g: 87, b: 51 })); // '#FF5733'
console.log(formatHex({ r: 59, g: 130, b: 246 })); // '#3B82F6'
console.log(formatHex({ r: 255, g: 87, b: 51, alpha: 0.5 })); // '#FF573380'
console.log(formatHex({ r: 5, g: 0, b: 0 })); // '#050000' — padStart matters 现代空格分隔 `rgb(255 87 51)`、遗留逗号分隔 `rgb(255, 87, 51)`、百分比通道 `rgb(100% 34% 20%)`、现代斜线表 alpha `rgb(255 87 51 / 0.5)`,以及遗留 `rgba(255, 87, 51, 0.5)` 都按相同方式解析。解析器在 HEX 序列化之前把所有输入形态归一到同一个内部 RGB 三元组,因此无论您的来源用哪种形态 —— Photoshop 的整数三元组、样式表里的 `rgba()`、一段 Canvas API 三元组 —— 都可以直接粘贴,无需手动重排。
HEX 字段把值显示为不透明颜色的 `#FF5733`,以及带 alpha 颜色的 `#FF573380`(8 位形式)。默认大写以与大多数品牌指南保持一致;如果您的风格指南要求,一次机械替换就能切到小写。两种形式都是合法 CSS,在所有常青浏览器中通用。带 alpha 的 8 位形式在 2018 年登陆所有主流浏览器;对于 IE 11 回退,遗留的 `rgba()` 形式仍然就在 RGB 字段里。
RGB → HEX 是整数到字符串的运算:`value.toString(16).padStart(2, '0')` 产出规范的 2 位 HEX 对,完全不涉及浮点。反方向(`parseInt(pair, 16)`)同样精确。一次 RGB → HEX → RGB → HEX 往返会无限循环产出原始输入逐字一致。OKLCH 作为内部事实源,意味着即便更长的链路 RGB → HSL → OKLAB → HEX 也保持比特稳定,而把转换走 HSL 作枢轴的老式转换器无法保证这一点。
带 alpha 的 RGB(`rgb(255 87 51 / 0.5)` 或 `rgba(255, 87, 51, 0.5)`)会自动输出 8 位 HEX 形式(`#FF573380`)。alpha 浮点数先乘以 255、舍入到最近的整数,再做 HEX 编码:`0.5 × 255 = 128 = 0x80`。当 alpha 等于 1 时,输出回退到 6 位 HEX,避免把多余的 `FF` 对漏进样式表。对设计 token 迁移很有用,当 `rgba()` 中的 alpha 值需要往返进现代 8 位 HEX 形式时尤为合适。
您粘贴的同一个 RGB 也会驱动 HSL、HSV、HWB、OKLCH、OKLAB、CMYK,以及最接近的 CSS 命名颜色 —— 全部在同一页上一眼可见。您绝不会被锁死在仅 RGB → HEX。如果队友需要 OKLCH 三元组用于 Tailwind v4 token、最接近的命名颜色用于文档文案,或者 CMYK 近似值用于印刷报价,这些值都已经在那里,带各自的复制按钮。
把一个 RGB 三元组喂进来,对比度行会立即用 WCAG 2.1(监管下限:正文文本 4.5:1,AAA 7:1)和 APCA Lc(拟议的 WCAG 3 继任者:正文文本目标 `|Lc| ≥ 75`)对白与对黑评分。当您刚把一个 RGB 三元组转成 HEX,想在发布前验证这一品牌色作为正文文本颜色是否真的可读时非常有用。
取色器下方,「复制为代码」区段会把当前颜色变成 5 个平台的可粘贴片段:CSS 自定义属性(`--color-brand: #FF5733`)、Tailwind v4 `@theme` token、SwiftUI `Color(red:green:blue:)` 字面量、Jetpack Compose `Color(0xFFFF5733)` 常量、Flutter `Color(0xFFFF5733)`。每个平台所期望的精确语法,可直接拖进 iOS 资源目录、Android 主题文件或 Flutter `ThemeData`。
所有 RGB 解析、HEX 序列化、对比度评分与调色板生成都在浏览器中本地运行。您的 RGB 值绝不会被传输、绝不会在任何服务器被记录、绝不会被分析。键入时零网络请求 —— 可在 DevTools 中亲自验证。可放心用于尚未公布的品牌调色板、内部设计 token、NDA 下的草稿稿件,以及任何其他保密的颜色工作。
当前颜色会在每次变更时自动以 `#hex=ff5733` 的形式编码进 URL 哈希。复制 URL,粘贴到 Slack 线程或 GitHub issue 里,打开它的人会落在同样的 RGB 三元组、同样的 HEX 结果上。哈希只活在您的地址栏中,绝不会传到服务器(浏览器不会把 URL 片段放进 HTTP 请求),因此即便分享链接,颜色也不会泄露给任何第三方。
Google 搜「rgb to hex」时的默认结果 —— 一个单向表单,三个 RGB 数字框进、HEX 出,看不到其他格式。从搜索点进来做一次性查询时还行。缺少 OKLCH、对比度检查、色域检测、alpha 处理,以及多格式同屏视图。除了最朴素的单次转换场景,本工具在每一个维度上都更胜一筹。
围绕每个颜色构建的长期 SEO 页面,带深度元数据:对您查询的任意 RGB,都会给出转换、调色板、和谐色、渐变。UI 已显陈旧(2010 年代初风格),不支持 OKLCH,无 APCA 对比度,无广色域处理。从 Google 发现某个具体颜色时比较强;在主动转换工作流中较弱,直接键入统一字段 UX 更快。
面向初学者、放在一份以教学为主的页面上的 HEX/RGB/HSL 切换器,在搜索结果中无处不在。无 OKLCH,除 rgba 外不处理 alpha,无高级特性。作为 W3Schools 讲解内容旁的参考工具有用。本工具在其他每个方面都更优:更多格式、感知数学、色域 + 对比度 + 色盲特性,以及面向 Tailwind v4 / SwiftUI / Compose / Flutter 的现代代码导出。
Chrome、Firefox 与 Safari 的 DevTools 都自带取色器,当您在 CSS 面板里点击颜色色卡时会内联把 RGB 转成 HEX。免费、免安装、随时可用。缺少 OKLCH、缺少可分享 URL、缺少面向非 Web 平台(SwiftUI、Compose)的代码导出。已经在调试 CSS 时用 DevTools;需要跨平台输出时用本工具。
自 OS X 起每台 Mac 都自带 —— 把指针悬停在任意像素上即可读出 RGB / HEX / 线性值。从屏幕任意应用取样像素颜色时非常出色。它不接受您粘贴的 RGB 三元组做转换;它是屏幕采样器,不是转换器。要在浏览器中获得同样的屏幕采样能力,可以用本工具取色器中的 EyeDropper 按钮(仅 Chromium 系浏览器)。
覆盖多种色彩空间的每色 SEO 页面(HEX、RGB、HSL、HSV、CMYK、XYZ、CIELAB)。缺少现代 OKLCH 支持,以及统一字段编辑 UX。自动生成的内容页面有些内容农场气息,但转换数据是正确的。通过 Google 翻找单个颜色的元数据时不错;主动工作流则本工具更快。
rgb(255 87 51)
HEX 输出:`#FF5733`。经典的跨平台工作流 —— CSS 样式表用现代 `rgb()` 语法声明品牌色,iOS 团队需要 HEX 才能放进一个 SwiftUI `Color(hex:)` 扩展或资源目录。每个通道独立转换:`255 → FF`、`87 → 57`、`51 → 33`,前置 `#` 拼接。同一个 HEX 也能干净地粘贴进 Android Compose、Flutter 与 Figma —— 2026 年的跨平台颜色交付,HEX 仍然是通用语。
rgb(59 130 246)
HEX 输出:`#3B82F6`。Adobe 的取色器(Photoshop、Illustrator、InDesign 中相同)以三个 0–255 整数报告 RGB;前端团队需要 HEX 才能写进 `--color-brand: #3B82F6` 这样的 CSS 自定义属性。这个特定的三元组正是 Tailwind 的 `blue-500` —— `59 = 0x3B`、`130 = 0x82`、`246 = 0xF6`。在这里粘贴一次就能得到对应 HEX,以及供 Tailwind v4 token 迁移用的 OKLCH 三元组,一步到位。
rgb(255 87 51 / 0.5)
HEX 输出:`#FF573380`。alpha 浮点数乘以 255(`0.5 × 255 = 127.5`,舍入到 128),然后转为 2 位 HEX 对(`128 = 0x80`),附加在 RGB HEX 之后。带 alpha 的 CSS 8 位 HEX 在 2018 年原生登陆所有常青浏览器(Chrome 62、Firefox 49、Safari 9.1、Edge 79)。要兼容 2018 年之前的浏览器,可以继续用遗留的 `rgba(255, 87, 51, 0.5)` 形式;两者之间的转换是机械的,颜色精确等价。
rgb(100% 50% 0%)
HEX 输出:`#FF8000`。CSS Color 4 允许使用百分比通道 —— 每个百分比按 `value × 255 / 100` 映射到 0–255 区间,然后舍入到最近的整数(`50% × 255 = 127.5 → 128 = 0x80`)。百分比形式与整数形式可以互换,产出完全相同的 HEX。手写样式表里,当通道比例比原始整数值更有意义时,有时会偏好百分比语法以提升可读性;HEX 输出会把两种输入归一到同一规范的 6 位字符串。
10 个最常转换的 RGB 三元组及其 HEX 等价值的参考表 —— 纯原色、纯次原色,以及来自 Tailwind 调色板的 2 个真实品牌色。
纯黑。三个通道都为零 —— 没有发出任何光。HEX 代码 (#000000)。
rgb(0 0 0) → #000000 屏幕上的纯黑很少是合适的设计选择 —— 正文文本不妨试试 `#111` 或 OKLCH 感知亮度 0.1–0.15,更柔和。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
纯白。三个通道都达到最大值(255)。sRGB 中最亮的颜色。
rgb(255 255 255) → #FFFFFF 暗环境下纯白背景容易引起视觉疲劳 —— 可以考虑 `#fafafa` 或 OKLCH 0.98 之类更暖的替代。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
纯红。R 通道最大,G 与 B 为零。sRGB 三原色中的第一个。
rgb(255 0 0) → #FF0000 纯红饱和度极高,很少适配品牌调色板 —— 大多数「红色」品牌色更接近 #DC2626 或 #E53935。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
纯绿。G 通道最大,R 与 B 为零。CSS 命名颜色 `lime`(不是 `green`,`green` 是 #008000)。
rgb(0 255 0) → #00FF00 CSS 关键字 `green` 解析为 #008000(半亮),不是 #00FF00 —— 这是个常见的混淆点。要表达纯 RGB 绿请用 `lime`。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
纯蓝。B 通道最大,R 与 G 为零。sRGB 第三原色。
rgb(0 0 255) → #0000FF 白底纯蓝过不了 WCAG AA 对比度(3.7:1) —— 正文文本可以考虑更深的品牌蓝,如 #1D4ED8(Tailwind blue-700)。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
青色 —— 绿和蓝最大,红为零。sRGB 三个次原色之一。CSS 命名颜色 `cyan`(或等价的 `aqua`)。
rgb(0 255 255) → #00FFFF 在 CSS 中 cyan 与 aqua 是完全同义词 —— 都解析为 #00FFFF。挑一个,在样式表中保持一致。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
品红 —— 红和蓝最大,绿为零。CSS 命名颜色 `magenta`(或等价的 `fuchsia`)。
rgb(255 0 255) → #FF00FF 在 CSS 中 magenta 与 fuchsia 是完全同义词 —— 都解析为 #FF00FF。常见于测试图案与开发工具的覆盖层。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
黄色 —— 红和绿最大,蓝为零。按感知亮度算是 sRGB 三个次原色中最亮的。
rgb(255 255 0) → #FFFF00 黄色是屏幕上感知亮度最高的非白色 —— 白底上的黄字几乎不可见,虽然 HEX 看上去在纸上很正常。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
Tailwind CSS 默认的 blue-500 品牌色 —— 2020 年代中期标志性的「Web 蓝」。无数仪表盘、营销站点与管理工具中都在使用。
rgb(59 130 246) → #3B82F6 Tailwind v4 在 OKLCH 中重新定义了 blue-500(`oklch(0.629 0.193 263.4)`)以获得感知均匀的色阶 —— HEX 保持不变作为回退。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
Tailwind CSS 默认的 rose-500 —— 高饱和度的粉红色调,常用于强调按钮、警示状态和品牌对比。
rgb(244 63 94) → #F43F5E rose-500 在白底上对大字号文本过 WCAG AA(4.6:1),但正文文本过不了 —— 白底正文请搭配 rose-600(#e11d48)或更深的色阶。
需要 OKLCH 吗?请试用专用的 HEX 转 OKLCH 转换器,获得感知均匀的输出。
把任意 `rgb()` 值丢进 RGB 输入框 —— 现代空格分隔 `rgb(255 87 51)`、遗留逗号 `rgb(255, 87, 51)`、用斜线表 alpha 的 `rgb(255 87 51 / 0.5)` 或 `rgba(255, 87, 51, 0.5)` 形式,或百分比通道 `rgb(100% 34% 20%)`。工具会在计算 HEX 之前把所有输入形态归一到同一个内部 RGB 三元组。非法字符、超出范围的整数或语法错误会产生一个安静的行内错误;合法 RGB 则会实时刷新其他每一个格式字段。
RGB 字段上方的 HEX 字段显示对应的 HEX 值:不透明颜色为 `#FF5733`,带 alpha 时为 `#FF573380`(8 位形式)。输出默认使用大写 HEX 数字,以与大多数品牌指南保持一致;小写(`#ff5733`)只是一次机械替换的事,同样是合法 CSS。转换是比特精确的 —— 一次 RGB → HEX → RGB 往返会逐字还原原始三元组,无浮点漂移。
每个格式卡片右侧都有一个复制按钮。一键即可把值送到剪贴板 —— 按钮标签短暂闪现「Copied!」以便您知道。复制出来的字符串带前导 `#`,可直接粘贴进一条 CSS 规则、一个 Figma 颜色字段、一个 SwiftUI HEX 扩展,或者一个 Android `colors.xml`。要输出特定平台的语法(SwiftUI `Color(red:green:blue:)`、Compose `Color(0xFF...)`、Tailwind v4 `@theme` token),请使用取色器下方的「复制为代码」区段。
您粘贴的同一个 RGB 也会点亮其他格式字段 —— 给遗留 CSS 用的 HSL,给感知均匀设计系统用的 OKLCH 与 OKLAB,给设计师取色器工作流用的 HSV 与 HWB,给印刷估算用的 CMYK,以及给文档与文案用的最接近 CSS 命名颜色。您绝不会被锁死在仅 RGB → HEX;如果您还需要把 OKLCH 三元组放进 Tailwind v4 `@theme` 块,它就在 OKLCH 字段中,带自己的复制按钮。
格式网格下方是一个 SL 方块 + 色相滑块 + alpha 滑块,用于可视化探索。拖动任意控件,每一个文本字段都会实时更新,包括您一开始用的 RGB 与 HEX。在 Chromium 系浏览器(Chrome、Edge、Brave)上,EyeDropper 按钮会激活原生 `EyeDropper` API,可在屏幕任意位置取样像素(包括浏览器窗口之外) —— 当您想从另一应用 UI 抓一个 RGB 三元组、又不愿先截图,然后立刻读出 HEX 时非常有用。
把 RGB 转成 HEX 时,每个通道的 `toString(16)` 都需要左填充到 2 位。没有 `padStart(2, '0')`,单位通道值会生成非法 HEX:`rgb(5, 87, 51)` 会被序列化成 `#55733`(5 个字符),而不是 `#055733`(6 个字符)。许多临时性的转换器跳过了填充,任何通道值低于 16 的颜色都会输出有问题。标准写法是对 R、G、B 每一个都用 `value.toString(16).padStart(2, '0')`,然后拼接、前置 `#`。
跳过 padStart:
[5, 87, 51].map(v => v.toString(16)).join('') → '55733'
产生非法的 5 字符 HEX。 使用 padStart(2, '0'):
[5, 87, 51].map(v => v.toString(16).padStart(2, '0')).join('') → '055733'
合法的 6 字符 HEX;对所有 0–255 通道值都正确。 当 RGB 三元组来自归一化的 0–1 浮点数乘以 255(常见于 OpenGL、SwiftUI、归一化图像数据)时,结果常常是像 `127.5` 或 `204.7` 这样的浮点数。对一个浮点数调用 `toString(16)` 会产出像 `'7f.8'` 或 `'cc.b333...'` 这样的带小数 HEX,不是合法的 CSS HEX。在 `toString(16)` 之前,始终先用 `Math.round`(或按您的舍入策略用 `Math.floor`/`Math.ceil`)把浮点数转为整数。
跳过舍入: (0.5 * 255).toString(16) → '7f.8' 产生带小数点的非法 HEX。
先舍入到整数: Math.round(0.5 * 255).toString(16).padStart(2, '0') → '80' 合法的 2 位 HEX 对;匹配 CSS Color 4 归一化。
CSS 8 位 HEX 是 `#RRGGBBAA` —— alpha 是 *末尾* 那一对。某些颜色库(尤其是较老 Android 的 `Color.parseColor()`)使用相反顺序 `#AARRGGBB`,alpha 在 *前面*,这与 CSS HEX 不兼容。一个带 50% alpha 的 RGB 值序列化进 CSS HEX 是 `#FF573380`;按 Android 前 alpha 格式输出则是 `#80FF5733`。在输出 8 位 HEX 之前,务必核实目标平台的 alpha 顺序。
把 Android 前 alpha HEX 输出到 CSS: rgb(255 87 51 / 0.5) → #80FF5733(Android 格式) CSS 会解析为 alpha=128、R=255、G=87、B=51 —— 颜色完全不对。
使用目标平台所声明的格式: for CSS: #FF573380(alpha 在末字节) for Android Compose: Color(0x80FF5733)(alpha 在首字节) 不要在两者之间直接互换粘贴而不重新排序。
RGB 通道是 gamma 编码的,不是线性的。对两个 RGB 值求平均,得到的感知中点是错的。`(255, 0, 0)` 与 `(0, 255, 0)` 平均出 `(127, 127, 0)`,一个浑浊的暗橄榄色,而不是您混合红光与绿光时期待的明亮黄色中点。要正确混色,先通过 sRGB 传递函数(CSS Color 4 §11.2)解码到线性 RGB,在线性空间求平均,再重新编码。或者在感知距离均匀的 OKLAB / OKLCH 中工作。
直接对 gamma 编码的 RGB 求平均: (rgb(255,0,0) + rgb(0,255,0)) / 2 = rgb(128, 128, 0) 看上去像暗橄榄色,而不是明亮黄色。
在线性 RGB 中求平均: 解码 → 线性 RGB → 求平均 → 重新编码 → rgb(188, 188, 0) 可见的明亮黄色,与物理光混合的结果相符。
转换工具
在线免费进制转换工具,支持二进制、八进制、十进制、十六进制及 2-36 任意进制互转。无需注册,数据不离开浏览器,即时获取结果。
转换工具
在浏览器中将 HEX 转 RGB、HSL、OKLCH、OKLAB 与 CMYK,一键复制任意格式。免费、免注册,您的颜色永远不会离开本页。
转换工具
在浏览器中把 HEX 颜色转成 CMYK。基于 sRGB 的朴素近似,适合印前预览。免费、免注册,您的颜色始终保留在本地。
转换工具
在浏览器中把任意 HEX 颜色转成 HSL —— 3 位、6 位以及带 alpha 的 8 位全部支持。免费、即时、免注册,您的颜色永远不会离开本页。
转换工具
把 HEX 转成 OKLCH,直接喂给 Tailwind v4 设计 token。实时输出感知均匀的三元组,带 Display P3 色域提醒。免费,纯浏览器运行。
转换工具
在浏览器中把任意 HEX 颜色代码转成 RGB —— 3 位、6 位以及带 alpha 的 8 位 HEX 全部支持。免费、即时、免注册,您的颜色永远不会离开本页。