Vyriešené: javascript hex to rgb

Hlavným problémom pri prevode hexadecimálnych hodnôt farieb na RGB je to, že medzi týmito dvoma formátmi neexistuje žiadna zhoda jedna k jednej. Napríklad farba #FF0000 je v RGB reprezentovaná ako 255, 0, 0, ale v hex by sa rovnala farbe #F0. To znamená, že dve rôzne farby môžu mať rovnakú hodnotu RGB, ak sú zložené z rôznych množstiev každej farebnej zložky.

"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;
}

"používať prísne";

Tento riadok kódu umožňuje prísny režim, čo je spôsob, ako lepšie písať JavaScript. V prísnom režime nemôžete použiť nedeklarované premenné. Tento riadok kódu musí byť v hornej časti vášho súboru JavaScript, aby fungoval prísny režim.

function hexToRgb(hex) {
var vysledok = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
vrátiť výsledok? {
r: parseInt(výsledok[1], 16),
g: parseInt(vysledok[2], 16),
b: parseInt(výsledok[3], 16)
} : nulový;
}

Toto je funkcia, ktorá konvertuje hexadecimálnu hodnotu farby na hodnotu farby RGB. Funkcia má jeden parameter, ktorým je hexadecimálna hodnota farby, ktorú chcete previesť. Funkcia používa regulárny výraz na zhodu so vzorom hexadecimálnej hodnoty farby a ak nájde zhodu, vráti objekt s červenou, zelenou a modrou hodnotou. Ak nenájde zhodu, vráti hodnotu null.

Konverzia medzi farbami

Na túto otázku neexistuje univerzálna odpoveď, pretože najlepší spôsob prevodu farieb medzi rôznymi farebnými priestormi sa môže líšiť v závislosti od konkrétnych potrieb vašej aplikácie. Niekoľko tipov, ako previesť farby medzi farebnými priestormi v JavaScripte, nájdete nižšie.

Ak chcete previesť farbu z jedného farebného priestoru do druhého, môžete použiť funkcie rgb() a hsl(). Tieto funkcie majú tri argumenty: červenú, zelenú a modrú hodnotu. Prvý argument určuje základný farebný priestor (napr. RGB), zatiaľ čo druhý a tretí argument určuje cieľový farebný priestor (napr. HSL).

Ak chcete previesť farbu z jedného pixelového formátu do druhého, môžete použiť funkciu css(). Táto funkcia obsahuje dva argumenty: reťazec predstavujúci názov vlastnosti CSS (napr. „farba“) a číslo predstavujúce požadovanú hodnotu pre danú vlastnosť (napr. „50“).

Farebné formáty

Existuje niekoľko rôznych farebných formátov, ktoré môžete použiť v JavaScripte.

RGB – červená, zelená, modrá

HEX – #RRGGBB

HSL – odtieň, sýtosť, svetlosť

Súvisiace príspevky:

Pridať komentár