什么是RGB转十六进制转换器?
这个工具可以把RGB颜色——也就是分别代表红、绿、蓝三种光强度、取值在0到255之间的三个数字——转换成网页设计、CSS、HTML以及各类平面设计软件中常见的 #RRGGBB 十六进制颜色代码。两种写法描述的其实是完全相同的颜色,十六进制只是把这三个字节值写得更紧凑而已。
使用方法
分别在「红」「绿」「蓝」三个输入框中填入0到255之间的数值,然后点击提交。转换器会返回对应的Hex颜色代码、一个实时颜色色块(方便你直观查看效果),以及每个通道在十进制和十六进制下的对照明细。超出0-255范围的数值会被自动限制在有效区间内,小数则四舍五入为最接近的整数。
转换原理详解
转换的核心公式是:
$$\text{Hex} = \text{\#} \; \overline{\text{Red}}_{16} \, \overline{\text{Green}}_{16} \, \overline{\text{Blue}}_{16}$$每个通道都会被转换成16进制。0到255之间的一个字节正好可以用两位十六进制数字表示(00到FF)。要转换数值 \(v\),高位取 floor(v / 16),低位取 v mod 16,其中10到15分别对应A到F。如果结果只有一位,会在前面补零,确保每个通道都是两个字符。最后把三段两位数拼在一起,并在前面加上 # 即可。
实例演算
以RGB(255, 165, 0)为例:红色 \(255 = \text{FF}\),绿色 \(165\):
$$165 \div 16 = 10 \text{ 余 } 5 \rightarrow \text{A5}$$蓝色 \(0 = \text{00}\)。拼接起来就得到 #FFA500,也就是网页中经典的橙色「orange」。
常见问题
为什么有些十六进制代码只有3位? 像 #FFF 这样的简写形式,是把 #RRGGBB 中每一对相同的字符省略后的结果(所以 #FFF = #FFFFFF)。本工具始终输出完整的6位形式。
FF代表什么? FF是255的十六进制写法,表示一个通道的最大强度。
可以输入大于255的数值吗? 各通道的取值范围只有0-255,因此超出的数值会被限制为255(负数则被限制为0)。