Solvita: javascript heks al rgb

La ĉefa problemo kun konvertado de deksesuma kolorvaloroj al RGB estas ke ekzistas neniu unu-al-unu korespondado inter la du formatoj. Ekzemple, la koloro #FF0000 estas reprezentita en RGB kiel 255, 0, 0, sed en dekseso ĝi estus egala al la koloro #F0. Ĉi tio signifas, ke du malsamaj koloroj povas havi la saman RGB-valoron se ili estas kunmetitaj de malsamaj kvantoj de ĉiu kolorkomponento.

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

"Uzi strikte";

Ĉi tiu linio de kodo ebligas striktan reĝimon, kio estas maniero skribi pli bonan JavaScript. En strikta reĝimo, vi ne povas uzi nedeklaritajn variablojn. Ĉi tiu linio de kodo devas esti ĉe la supro de via JavaScript-dosiero por ke strikta reĝimo funkciu.

funkcio hexToRgb (hexToRgb) {
var rezulto = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
redoni rezulton? {
r: parseInt(rezulto[1], 16),
g: parseInt(rezulto[2], 16),
b: parseInt(rezulto[3], 16)
} : nulo;
}

Ĉi tio estas funkcio, kiu konvertas deksan kolorvaloron al RGB-kolorvaloro. La funkcio prenas unu parametron, kiu estas la hekskolora valoro, kiun vi volas konverti. La funkcio uzas regulan esprimon por kongrui kun la ŝablono de hekskolora valoro, kaj se ĝi trovas kongruon, ĝi resendos objekton kun la ruĝa, verda kaj blua valoroj. Se ĝi ne trovas kongruon, ĝi revenos nula.

Konvertiĝo inter koloroj

Ne ekzistas unugranda respondo al ĉi tiu demando, ĉar la plej bona maniero konverti kolorojn inter malsamaj kolorspacoj povas varii depende de la specifaj bezonoj de via aplikaĵo. Tamen kelkaj konsiletoj pri kiel konverti kolorojn inter kolorspacoj en JavaScript troveblas malsupre.

Por konverti koloron de unu kolorspaco al alia, vi povas uzi la funkciojn rgb() kaj hsl(). Ĉi tiuj funkcioj prenas enen tri argumentojn: ruĝan, verdan kaj bluan valoron, respektive. La unua argumento precizigas la bazan kolorspacon (ekz. RGB), dum la dua kaj tria argumentoj precizigas la celan kolorspacon (ekz. HSL).

Por konverti koloron de unu piksela formato al alia, vi povas uzi la funkcion css(). Ĉi tiu funkcio prenas du argumentojn: ĉeno reprezentanta la CSS-posedan nomon (ekz. "koloro") kaj nombron reprezentantan la deziratan valoron por tiu posedaĵo (ekz. "50").

Koloraj formatoj

Estas kelkaj malsamaj koloraj formatoj, kiujn vi povas uzi en JavaScript.

RGB - Ruĝa, Verda, Blua

HEX - #RRGGBB

HSL - Nuanco, Saturiĝo, Malpezeco

Rilataj afiŝoj:

Lasu komenton