Zgjidhur: javascript hex në rgb

Problemi kryesor me konvertimin e vlerave heksadecimal të ngjyrave në RGB është se nuk ka korrespondencë një-për-një midis dy formateve. Për shembull, ngjyra #FF0000 përfaqësohet në RGB si 255, 0, 0, por në heks do të ishte e barabartë me ngjyrën #F0. Kjo do të thotë që dy ngjyra të ndryshme mund të kenë të njëjtën vlerë RGB nëse ato përbëhen nga sasi të ndryshme të secilit komponent ngjyrash.

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

"përdor strikte";

Kjo linjë kodi mundëson modalitetin e rreptë, i cili është një mënyrë për të shkruar JavaScript më të mirë. Në mënyrë strikte, nuk mund të përdorni variabla të padeklaruar. Kjo linjë kodi duhet të jetë në krye të skedarit tuaj JavaScript në mënyrë që të funksionojë modaliteti i rreptë.

funksioni hexToRgb(hex) {
var rezultat = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
rezultati i kthimit? {
r: parseInt(rezultati[1], 16),
g: parseInt(rezultati[2], 16),
b: parseInt(rezultati[3], 16)
} : i pavlefshëm;
}

Ky është një funksion që konverton një vlerë ngjyre hex në një vlerë ngjyrash RGB. Funksioni merr një parametër, që është vlera e ngjyrës gjashtëkëndore që dëshironi të konvertoni. Funksioni përdor një shprehje të rregullt për të përputhur modelin e një vlere ngjyrash gjashtëkëndore dhe nëse gjen një përputhje, do të kthejë një objekt me vlerat e kuqe, jeshile dhe blu. Nëse nuk gjen një përputhje, do të kthehet nule.

Konvertimi midis ngjyrave

Nuk ka një përgjigje të vetme për këtë pyetje, pasi mënyra më e mirë për të konvertuar ngjyrat midis hapësirave të ndryshme të ngjyrave mund të ndryshojë në varësi të nevojave specifike të aplikacionit tuaj. Megjithatë, disa këshilla se si të konvertohen ngjyrat midis hapësirave të ngjyrave në JavaScript mund të gjenden më poshtë.

Për të kthyer një ngjyrë nga një hapësirë ​​ngjyrash në tjetrën, mund të përdorni funksionet rgb() dhe hsl(). Këto funksione marrin tre argumente: një vlerë të kuqe, jeshile dhe blu, respektivisht. Argumenti i parë specifikon hapësirën bazë të ngjyrave (p.sh. RGB), ndërsa argumenti i dytë dhe i tretë specifikojnë hapësirën e ngjyrave të synuara (p.sh. HSL).

Për të kthyer një ngjyrë nga një format piksel në një tjetër, mund të përdorni funksionin css(). Ky funksion merr dy argumente: një varg që përfaqëson emrin e pronës CSS (p.sh. "color") dhe një numër që përfaqëson vlerën e dëshiruar për atë pronë (p.sh. "50").

Formatet e ngjyrave

Ka disa formate të ndryshme ngjyrash që mund t'i përdorni në JavaScript.

RGB - E kuqe, jeshile, blu

HEX – #RRGGBB

HSL - Ngjyra, Ngopja, Lehtësia

Mesazhe të ngjashme:

Lini një koment