跳到内容
🛠️ToolsShed

色温转换器

将开尔文色温转换为RGB和HEX。从烛光到日光,可视化暖色调和冷色调光源。

K
HEX
#FFEFE1
RGB
255, 239, 225
Mired
179
描述
冷白LED

常见光源

光源温度
Candlelight1,900K
Incandescent2,700K
Halogen3,200K
Fluorescent4,000K
Daylight5,600K
Blue Sky10,000K

关于此工具

色温是用开尔文(K)测量的,用来描述不同光源发出的光的暖度或冷度。从蜡烛火焰的橙色光(约1,800 K)到日光的冷蓝色(6,500 K或更高),每个光源都有独特的色温,这会影响我们对色彩的感知方式和空间的氛围。此转换器将开尔文值转换为RGB和十六进制颜色代码,使您可以轻松理解并在数字设计、摄影或室内照明中复制特定的光色。

要使用色温转换器,只需输入1,000至40,000 K范围内的开尔文值,或选择蜡烛、白炽灯、日光或冷荧光灯等预设。该工具会立即计算相应的RGB值,并显示精确的十六进制颜色代码和视觉颜色预览。这对摄影师调整白平衡、设计师在UI模型中匹配环境光、视频制作人员规划色彩分级或任何对光和色彩感知科学感兴趣的人都非常有用。

此转换遵循普朗克辐射定律算法,该算法模拟黑体在不同温度下如何辐射光—这与专业色彩校正软件中使用的原理相同。虽然该工具在标准照明场景中提供出色的结果,但极端温度(低于1,000 K或高于40,000 K)可能会产生较不准确的颜色,因为这些极值处的真实光源表现不同。对于专业摄影或电影摄制中的微调色彩工作,请将此转换器用作起点,并始终在最终输出设备上验证。

常见问题

代码实现

# Kelvin to RGB Color Temperature Conversion
# Algorithm by Tanner Helland (approximation)

import math

def clamp(value: float) -> int:
    return max(0, min(255, int(round(value))))

def kelvin_to_rgb(kelvin: float) -> tuple[int, int, int]:
    t = kelvin / 100.0
    if t <= 66:
        r = 255
        if t <= 1:
            g = 0
        else:
            g = clamp(99.4708025861 * math.log(t) - 161.1195681661)
        if t <= 19:
            b = 0
        else:
            b = clamp(138.5177312231 * math.log(t - 10) - 305.0447927307)
    else:
        r = clamp(329.698727446 * ((t - 60) ** -0.1332047592))
        g = clamp(288.1221695283 * ((t - 60) ** -0.0755148492))
        b = 255
    return r, g, b

def rgb_to_hex(r: int, g: int, b: int) -> str:
    return f"#{r:02X}{g:02X}{b:02X}"

def kelvin_to_mired(kelvin: float) -> int:
    return round(1_000_000 / kelvin)

# Examples
for k in [1900, 2700, 3200, 4000, 5600, 10000]:
    r, g, b = kelvin_to_rgb(k)
    print(f"{k}K: RGB({r},{g},{b}) = {rgb_to_hex(r,g,b)}, Mired={kelvin_to_mired(k)}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.