颜色值的16进制和RGB互转原理

1,330 阅读1分钟

#A65CDA 格式的颜色被称为十六进制颜色码。这6位数分为3组,每两位数1组,依次是红、黄、蓝颜色的强度。3组数字组合分别依次对应 rgb(166,92,218) 的3个十进制数字。

因此将rgb格式转换成十六进制,只需要将三个数值转换成十六进制即可。反之则逆向转换。

1. RGB转换为HEX

RGB与HEX中每个颜色都是一一对应的关系, 如下所示:

HEX的数值第一位 = ((RGB的数值 / 16) -> 再转换成 16进制数)

HEX的数值第二位 = ((RGB的数值 % 16) -> 再转换成 16进制数)

RGB: (166,92,218)

166 / 16 = 10余6 -> A6

92 / 16 = 5余12 -> 5C

218 / 16 = 13余10 -> DA

HEX = A65CDA

2. HEX转换为RGB

此转换就是将上述的转换逆转即可,如下所示:

RGB的数值 = HEX的第一位 * 16 + HEX的第二位

HEX: A65CDA

A6 = 10和6 -> 10 * 16 + 6 = 166

5C = 5和12 -> 5 * 16 + 12 = 92

DA = 13和10 -> 13 * 16 + 10 = 218

RGB: (166,92,218)