关于颜色格式转换
HEX、RGB、HSL、HSV 描述的是同一个颜色的不同坐标系。HEX 与 RGB 是通道值的直接表示,适合写进样式表和设计稿标注;HSL 用色相、饱和度、明度描述,整体压暗或提亮时更直观,只要改 L 值就不动色相。换算的关键是公式和取值范围:RGB 每通道 0–255,HSL 的 H 是 0–360 度、S 与 L 是 0%–100%,而 HSV 的 V 是 0%–100%、S 的定义也和 HSL 不同,同一个 RGB 在两种模型里算出的 S 值通常不相等。HEX 还有三位简写(#f00 等于 #ff0000)和八位带透明通道(#RRGGBBAA)两种写法。
颜色格式转换怎么用
- 输入任意一种格式,HEX 字符串、rgb(…)、hsl(…) 或 hsv(…),工具自动识别类型。
- 检查解析出的分量是否符合预期,色相大于 360 时按取模处理。
- 在结果区同时读取 HEX、RGB、HSL、HSV 四种表示。
- 微调同色系深浅时改 HSL 的 L 值或 HSV 的 V 值,保持 H 不变色相就不会偏移。
- 复制目标格式串进样式表,注意 HSL 与 HSV 不能混用语法。
使用提示
- HEX 三位简写只适用于每通道两位十六进制字符相同的情况,#ABCDEF 这类无法简写;遇到三位先展开成六位再参与换算。
- 透明度的表示方式不止一种,#RRGGBBAA 的 AA 是 0–255 的十六进制值,rgba() 的 alpha 是 0–1 的小数,两者混写会得到完全不同的结果。
- HSL 与 HSV 的 S 别混用:HSL 的 100% 是完全饱和色、L 决定明暗,HSV 的 100% 是纯色、V 决定明暗,跨工具对比颜色前先确认模型名。
颜色格式转换常见问题
HEX 和 RGB 怎么互相转换
把 HEX 每两位一组按十六进制读成 0–255 的十进制,例如 #1A2B3C 是 R=26、G=43、B=60,写成 rgb(26, 43, 60)。反向把每个十进制分量转成两位十六进制再拼接,不足两位补前导零。三位简写先展开成六位(#f0a 得 #ff00aa)再算。
HSL 和 HSV 有什么区别
两者都用色相 H,但饱和度的定义不同。HSL 的 S 在 L 为 0% 或 100%(全黑或全白)时没有意义,HSV 的 V 从 0% 起是黑、到 100% 是纯色。同一个 RGB 转成两种模型得到的 S 值通常不同,样式表里只有 hsl(),HSV 多见于取色器和图像软件。
为什么 HSL 调明度会变成灰色
HSL 的 L 轴从 0% 到 100% 就是从黑到白,越靠近两端颜色的饱和度观感越低,L 在 50% 附近才是该色相最鲜艳的位置。想只改亮暗又保住鲜艳度,用 HSV 的 V 值,或者上调亮度的同时把 S 一起提高。
带透明度的颜色怎么写
样式表里可以写八位 HEX(#RRGGBBAA,AA 是十六进制的 0–255),也可以写 rgba(r, g, b, a),其中 a 是 0–1 的小数。两种写法不能互换混用:八位 HEX 里不能写小数,rgba 里不能写十六进制。0.5 的 alpha 约等于 AA 为 80。