Çözüldü: javascript hex'ten rgb'ye

Onaltılık renk değerlerinin RGB'ye dönüştürülmesiyle ilgili temel sorun, iki biçim arasında bire bir yazışma olmamasıdır. Örneğin, #FF0000 rengi RGB'de 255, 0, 0 olarak temsil edilir, ancak hex'te #F0 rengine eşit olur. Bu, her bir renk bileşeninin farklı miktarlarından oluşuyorsa, iki farklı rengin aynı RGB değerine sahip olabileceği anlamına gelir.

"use strict";

function hexToRgb(hex) {
    var result = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
    return result ? {
        r: parseInt(result[1], 16),
        g: parseInt(result[2], 16),
        b: parseInt(result[3], 16)
    } : null;
}

"Sıkı kullanın";

Bu kod satırı, daha iyi JavaScript yazmanın bir yolu olan katı modu etkinleştirir. Katı modda, bildirilmemiş değişkenleri kullanamazsınız. Katı modun çalışması için bu kod satırı JavaScript dosyanızın en üstünde olmalıdır.

işlev hexToRgb(hex) {
var sonuç = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
dönüş sonucu? {
r: ayrıştır(sonuç[1], 16),
g: ayrıştır(sonuç[2], 16),
b: ayrıştır(sonuç[3], 16)
} : boş;
}

Bu, onaltılık bir renk değerini bir RGB renk değerine dönüştüren bir işlevdir. İşlev, dönüştürmek istediğiniz onaltılık renk değeri olan bir parametreyi alır. İşlev, onaltılık bir renk değerinin modelini eşleştirmek için normal bir ifade kullanır ve bir eşleşme bulursa kırmızı, yeşil ve mavi değerlere sahip bir nesne döndürür. Bir eşleşme bulamazsa, null döndürür.

Renkler arasında dönüşüm

Farklı renk uzayları arasında renkleri dönüştürmenin en iyi yolu, uygulamanızın özel gereksinimlerine bağlı olarak değişebileceğinden, bu sorunun her duruma uyan tek bir yanıtı yoktur. Ancak, JavaScript'te renk uzayları arasında renklerin nasıl dönüştürüleceğine ilişkin bazı ipuçları aşağıda bulunabilir.

Bir rengi bir renk uzayından diğerine dönüştürmek için rgb() ve hsl() fonksiyonlarını kullanabilirsiniz. Bu işlevler üç bağımsız değişken alır: sırasıyla kırmızı, yeşil ve mavi bir değer. Birinci argüman temel renk uzayını (örn. RGB) belirtirken, ikinci ve üçüncü argümanlar hedef renk uzayını (örn. HSL) belirtir.

Bir rengi bir piksel biçiminden diğerine dönüştürmek için css() işlevini kullanabilirsiniz. Bu işlev iki bağımsız değişken alır: CSS özellik adını temsil eden bir dize (örn. "renk") ve bu özellik için istenen değeri temsil eden bir sayı (örn. "50").

Renk biçimleri

JavaScript'te kullanabileceğiniz birkaç farklı renk biçimi vardır.

RGB – Kırmızı, Yeşil, Mavi

HEX – #RRGGBB

HSL – Ton, Doygunluk, Hafiflik

İlgili Mesajlar:

Leave a Comment