Renk Dönüştürücü

HEX, RGB ve HSL renk kodları arasında anında dönüşüm yapın. Renk seçici dahil, ücretsiz.

1.075 görüntülenme

HEX
RGB
HSL

Nasıl Çalışır

Bu üç gösterim aynı rengi anlatır; aralarındaki fark yalnızca ekranın kırmızı-yeşil-mavi ışık seviyelerini nasıl kodladığındadır. RGB her kanalı 0 ile 255 arasında bir ondalık sayı olarak saklar. HEX ise aynı RGB değerlerinin 16'lık tabanda yazılmış halidir: her kanal iki haneli bir onaltılık çifte döner, böylece rgb(255, 128, 0) tam olarak #ff8000 olur (ff=255, 80=128, 00=0). Bu dönüşümde hiçbir renk bilgisi kaybolmaz veya eklenmez — yalnızca yazım biçimi değişir.

HSL farklı çalışır: rengi ton (hue), doygunluk (saturation) ve açıklık (lightness) olmak üzere üç algısal eksende yeniden ifade eder ve bu değerler RGB kanallarından matematiksel olarak türetilir. Ton (0–360°), renk çemberi üzerindeki açıdır; hangi kanalın en büyük, hangisinin en küçük olduğuna ve aralarındaki farka bakılarak hesaplanır: #ff8000 için kırmızı en yüksek (255), mavi en düşük (0) değerdedir ve 60 × ((yeşil − mavi) / (maks − min)) formülü 60 × (128/255) ≈ 30° verir; bu da rengi turuncu bandına yerleştirir. Açıklık, en yüksek ve en düşük kanalın ortalamasıdır — burada (255 + 0) / 2 ≈ %50. Doygunluk ise rengin aynı açıklıktaki gri tona ne kadar uzak olduğunu ölçer — burada %100, çünkü bir kanal tam yoğunlukta, diğeri sıfırdadır. Sonuç hsl(30, 100%, 50%) olarak okunur — #ff8000 ile tamamen aynı turuncu, farklı biçimde anlatılmış.

Tasarımcıların RGB yerine HSL'yi tercih etmesinin nedeni tam olarak budur: bir rengi tonunu koruyarak %20 koyulaştırmak için HSL'de yalnızca açıklık değerini düşürmek yeterlidir — RGB'de aynı işlem üç kanalın orantılı biçimde yeniden hesaplanmasını gerektirir. Renk seçiciden bir renk seçin veya herhangi bir HEX kodu yazın; araç anında her iki gösterime de çevirir.

Bilinmesi Gerekenler

3 haneli kısa HEX (#f80) ve alfa kanalı içeren 4/8 haneli biçimler (#ff8000cc, rgba(255,128,0,0.8)) yaygın varyantlardır; bu araç standart 6 haneli opak HEX ile RGB/HSL karşılıklarını işler. orange gibi renk isimleri CSS standardında sabit HEX değerlerine karşılık gelir, ama her renk isminin akılda kalıcı bir HEX karşılığı yoktur — geliştiricilerin sürekli dönüşüm yapmasının bir başka nedeni budur. Aynı renk bir ekranda bire bir aynı görünse de başka bir ekranda hafif farklı çıkabilir, çünkü tüketici ekranları renk gamı ve kalibrasyon açısından farklılık gösterir — HEX/RGB/HSL değerleri kesin sayılardır, ama ürettikleri ışığın her ekranda birebir aynı olacağı garanti değildir. Metin ve arka plan rengi seçerken, HSL'deki açıklık (L) değerinin algısal kontrastla aynı şey olmadığını unutmayın — doygun bir sarı ile doygun bir mavi aynı L değerine sahip olabilir ama beyaza karşı kontrastları çok farklı görünür; bu yüzden erişilebilirlik kontrolü yalnızca L sayısına değil, gerçek bir kontrast oranı hesabına dayanmalıdır.

CSS, rgb(100%, 50%, 0%) gibi yüzdeye dayalı RGB yazımını da kabul eder; bu, rgb(255, 128, 0) ile tam olarak eşdeğerdir — rengi 0-255 tam sayı yerine yüzde olarak ifade eden tasarım araçlarıyla çalışırken işe yarar. Daha yeni CSS renk fonksiyonları olan oklch() ve lab(), HSL'den bir adım öteye geçer: algısal olarak tekdüze olacak şekilde tasarlanmışlardır, yani açıklıktaki eşit sayısal adımlar insan gözüne her tonda eşit farklı görünür — HSL bunu tüm tonlarda tam olarak garanti etmez. Yine de günlük web ve arayüz çalışmalarında HEX, RGB ve HSL, neredeyse her kod tabanında, stil kılavuzunda ve tasarım aracında karşınıza çıkacak üç temel format olarak kalmaya devam ediyor.

Sıkça Sorulan Sorular

HEX renk kodu RGB'ye nasıl çevrilir?

HEX kodu ikişer haneli üç parçaya bölün ve her parçayı 16'lık tabanda okuyun: #ff8000 için ff=255 (kırmızı), 80=128 (yeşil), 00=0 (mavi), yani rgb(255, 128, 0). Bu araç, siz yazarken veya renk seçerken dönüşümü anında yapar.

3 haneli HEX kodları (#f80 gibi) destekleniyor mu?

Evet. Kısa yazım her haneyi ikiye katlayarak tam 6 haneli forma genişler — #f80, #ff8800 olur — araç kısa ve uzun biçimleri birbirinin yerine kabul eder.

HSL ne zaman tercih edilmeli?

Elinizdeki bir rengin daha açık, koyu veya soluk bir varyantına ihtiyaç duyduğunuzda. HSL'de tek bir değeri — açıklık veya doygunluğu — değiştirirsiniz ve ton sabit kalır; RGB'de aynı ayar üç kanalın orantılı biçimde yeniden hesaplanması demektir. CSS, hsl() yazımını doğrudan desteklediği için bu yalnızca tasarım aşamasında değil, kod düzeyinde de işe yarar.

HSL'deki ton (hue) değeri gerçekte nasıl hesaplanır?

Ton, RGB kanalları arasındaki açısal ilişkiden gelir: formül hangi kanalın en büyük, hangisinin en küçük olduğuna ve aralarındaki farka bakar, bunu 0–360° renk çemberine yerleştirir. #ff8000 (255, 128, 0) için kırmızı en yüksek, mavi en düşük olduğundan ton 30° çıkar; bu da tam olarak turuncu aralığına denk gelir.

HEX, RGB ve HSL arasında dönüşüm yapmak renk kalitesinde kayıp yaratır mı?

Hayır — HEX ve RGB aynı sayıların iki farklı yazımıdır, HSL ise bu sayıların belirlenimci ve tersine çevrilebilir bir dönüşümüdür. İstediğiniz kadar ileri geri çevirin, sonuç her zaman orijinal renge tam olarak döner; hiçbir yönde yuvarlama kaybı olmaz.

Yorumlar

Henüz yorum yok — ilk yorumu siz yazın!

Benzer Araçlar