MCP ile bağlan →

Hesaplamaya Girin

Formül

Show calculation steps (1)
  1. Hue

    Hue: RGB'den HSL'ye Renk Dönüştürücü

    Hue in degrees, selected by which channel is the maximum; result is wrapped into 0-360. If delta = 0 the color is gray and H = 0.

Reklam

Sonuç

HSL Rengi
hsl(9, 100%, 64%)
Ton / Doygunluk / Parlaklık
Ton (derece) 9,13°
Doygunluk (%) 100%
Parlaklık (%) 63,92%

RGB'den HSL'ye dönüşüm nedir?

RGB, bir rengi Kırmızı, Yeşil ve Mavi ışığı karıştırarak tanımlar; her biri 0-255 aralığında bir değere sahiptir. HSL ise aynı rengi daha sezgisel üç sayıyla ifade eder: Ton (rengin 0-360° renk çemberindeki konumu), Doygunluk (rengin ne kadar canlı olduğu, %0-100) ve Parlaklık (ne kadar açık ya da koyu olduğu, %0-100). Tasarımcılar genellikle HSL ile çalışmayı daha kolay bulur; çünkü parlaklığı veya doygunluğu değiştirmek doğrudan "daha açık", "daha koyu", "daha canlı" ya da "daha gri" gibi sonuçlara karşılık gelir.

Yan yana RGB küpü ve HSL silindiri renk modelleri
RGB rengi kırmızı, yeşil ve mavi kanallarla tanımlar; HSL ise renk tonu, doygunluk ve açıklıkla anlatır.

Bu dönüştürücü nasıl kullanılır?

Renginizin Kırmızı, Yeşil ve Mavi değerlerini her biri 0 ile 255 arasında olacak şekilde girin. Hesaplayıcı, anında ona denk gelen HSL üçlüsünü döndürür ve sonucu doğrudan CSS'e hsl(H, S%, L%) biçiminde yapıştırabilirsiniz.

Formül açıklaması

Önce her kanal 255'e bölünerek 0 ile 1 arasında bir değere normalize edilir. Bunların en büyüğüne max, en küçüğüne min diyelim. Parlaklık \(L = (max + min) / 2\) ile bulunur. Eğer max ile min eşitse renk bir gri tonudur; bu durumda hem doygunluk hem de ton 0 olur. Aksi halde doygunluk, \(L > 0{,}5\) iken \((max - min) / (2 - max - min)\), \(L \le 0{,}5\) iken ise \((max - min) / (max + min)\) olur. Ton, hangi kanalın en büyük olduğuna göre hesaplanır ve dereceye (0-360) ölçeklenir.

$$L = \frac{C_{max} + C_{min}}{2}, \quad S = \begin{cases} \dfrac{\Delta}{2 - C_{max} - C_{min}} & L > 0.5 \\[0.6em] \dfrac{\Delta}{C_{max} + C_{min}} & L \le 0.5 \end{cases}$$$$\text{where}\quad \left\{ \begin{aligned} R &= \frac{\text{Red}}{255}, \; G = \frac{\text{Green}}{255}, \; B = \frac{\text{Blue}}{255} \\ C_{max} &= \max(R,G,B), \; C_{min} = \min(R,G,B), \; \Delta = C_{max} - C_{min} \end{aligned} \right.$$$$H = 60^{\circ} \times \begin{cases} \left(\dfrac{G - B}{\Delta}\right) \bmod 6 & C_{max} = R \\[0.7em] \dfrac{B - R}{\Delta} + 2 & C_{max} = G \\[0.7em] \dfrac{R - G}{\Delta} + 4 & C_{max} = B \end{cases}$$
Renk tonu açısını, doygunluk yarıçapını ve açıklık yüksekliğini gösteren HSL silindiri
Renk tonu bir açıdır (0-360°), doygunluk merkeze uzaklık, açıklık ise dikey konumdur.

Örnek hesaplama

Domates kırmızısı RGB(255, 99, 71) için: normalize değerler = (1,0; 0,388; 0,278). \(max = 1{,}0\), \(min = 0{,}278\), dolayısıyla \(L = 0{,}639\) → %63,9. \(L > 0{,}5\) olduğundan $$S = \frac{1{,}0 - 0{,}278}{2 - 1{,}0 - 0{,}278} = \frac{0{,}722}{0{,}722} = 1{,}0 \to \%100.$$ En büyük değer kırmızıda olduğundan $$H = 60 \times \left(\frac{0{,}388 - 0{,}278}{0{,}722}\right) = 60 \times 0{,}1525 = 9{,}1^{\circ}.$$ Sonuç: hsl(9, 100%, 64%).

Sıkça sorulan sorular

Gri tonlarında ton neden 0 oluyor? Kırmızı, yeşil ve mavi eşit olduğunda baskın bir renk olmaz; bu nedenle ton tanımsızdır ve genel kabule göre 0 olarak verilir.

HSL ile HSV/HSB aynı şey mi? Hayır. HSL ve HSV aynı ton değerini paylaşır, ancak doygunluğu ve üçüncü değeri farklı şekilde hesaplar; bu araç HSL çıktısı verir.

Sonucu doğrudan CSS'e yapıştırabilir miyim? Evet — modern tarayıcılar hsl(9, 100%, 64%) ifadesini doğrudan bir renk değeri olarak kabul eder.

Son güncelleme: