πŸ› οΈToolsShed

Konverter Suhu Warna

Mengubah suhu warna Kelvin ke RGB dan HEX. Visualisasikan sumber cahaya hangat hingga sejuk dari cahaya lilin hingga siang hari.

K
HEX
#FFEFE1
RGB
255, 239, 225
Mired
179
Description
Cool White LED

Common Light Sources

Light SourceTemperature
Candlelight1,900K
Incandescent2,700K
Halogen3,200K
Fluorescent4,000K
Daylight5,600K
Blue Sky10,000K

Pertanyaan yang Sering Diajukan

Implementasi Kode

# 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.