跳到主要内容
uencoder

如何Convert Color Formats

转换 colors between HEX, RGB, HSL, HSV, and named color formats.

问题

你有 颜色在 one 格式化 (e.g., HEX) 和 need 它在 另一个 (e.g., RGB 或 HSL) 为不同 tool 或上下文.

前置条件

  • Understanding 的颜色 models
  • 熟悉CSS 颜色 formats

步骤

  1. 1. Parse the source color

    Identify the input format: HEX (#FF5733), RGB (rgb(255,87,51)), HSL (hsl(11,100%,60%)), or a named color (red). Parse it into an intermediate representation, typically RGB values, for conversion to other formats.

    输入
    #FF5733
    输出
    RGB: (255, 87, 51)
  2. 2. Convert to the target format

    Convert from RGB to the target: HEX concatenates the hex values, HSL converts via the RGB-to-HSL algorithm, HSV uses a similar but distinct conversion. Each conversion is lossless within the color gamut. Alpha (transparency) is preserved separately.

    输入
    RGB (255,87,51) → HSL
    输出
    hsl(11, 100%, 60%)
  3. 3. Verify and output

    Convert back to the original format and compare to verify lossless conversion. Output the result in the target format with correct syntax. For CSS, use the modern syntax: hsl(11 100% 60%) or rgb(255 87 51).

    输入
    hsl(11, 100%, 60%) → back to HEX
    输出
    #FF5733 ✓

预期结果

颜色 converted 到目标格式化, 具有相同 visual appearance.

常见错误

HSL and HSV confused
HSL (Lightness) and HSV (Value) are different models. Lightness goes from black to white through the pure color; Value goes from black to the pure color. Use the correct target.
Alpha channel lost
Preserve the alpha (transparency) channel through conversions. Use rgba(), hsla(), or 8-digit HEX (#FF5733FF) for colors with transparency.

排障指引

  • If the color looks different after conversion, check for gamut issues or rounding errors in intermediate values.
  • Some conversions (like RGB to HSL) involve division; handle the zero-saturation case (grayscale) separately.

安全限制

  • Color conversion is a pure calculation with no security implications.

相关工具

参考链接