A hatjegyű HEX szín három, egyenként kétjegyű csatornaértéket tartalmaz: pirosat, zöldet és kéket. A tizenhatos számrendszerű jelölést tízes számokra váltva ugyanazt a színt RGB-alakban is megadhatod. Egy áttetsző réteg megjelenéséhez viszont a háttér színe is kell: az alfaérték önmagában nem ad végleges képpontszínt.
Egy HEX szín visszafejtése
A W3C CSS Color specifikációja az sRGB színek HEX és RGB jelölését is meghatározza. A hatjegyű alakban minden csatorna 00 és FF között változhat, ami tízesben 0–255. A betűk értékei: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
Két hexadecimális számjegyből a csatornaérték:
Érték = első számjegy × 16 + második számjegy.
Szemléltető alapszínünk #2E86C1. A piros csatorna 2 × 16 + 14 = 46. A zöld 8 × 16 + 6 = 134. A kék 12 × 16 + 1 = 193. Az RGB csatornahármas: 46, 134, 193.
A HEX–RGB színátváltóban add meg ezt a színt, majd próbáld ki az RGB bemenetet is. A két irány azonos eredményt kell adjon az egész, 8 bites csatornaértékeknél. Az egyezést az értékek alapján ellenőrizd; két külön kijelző látványának összehasonlítása további tényezőket is tartalmaz.
Mi a szerepe az alfának?
Az alfa a fedettség mértéke: 0-nál a réteg nem járul hozzá a megjelenő színhez, 1-nél teljesen fedi az alatta lévő hátteret. Egy teljesen fedő háttérre helyezett réteg egyszerű, azonos színtérben végzett összetétele csatornánként:
Eredmény = alfa × előtér + (1 − alfa) × háttér.
A képlet a W3C egyszerű alfa-összetételi szabályának teljesen fedő háttérre egyszerűsített alakja. A következő példa a megadott sRGB csatornaértékekkel végzett összetételt szemlélteti. Más színtérben végzett keverés, szűrő vagy eltérő rétegmód más eredményt adhat.
A példaszín 25%-os fedettséggel fehér háttéren
A fehér háttér csatornái 255, 255, 255. Az alfa legyen 0,25. A háttér súlya ezért 1 − 0,25 = 0,75.
| Csatorna | Számítás | Eredmény |
|---|---|---|
| Piros | 0,25 × 46 + 0,75 × 255 | 202,75 |
| Zöld | 0,25 × 134 + 0,75 × 255 | 224,75 |
| Kék | 0,25 × 193 + 0,75 × 255 | 239,50 |
Egész csatornákra kerekítve 203, 225, 240 adódik. Ezt újra HEX-re váltva #CBE1F0 a kapott jelölés. A fél egységet itt felfelé kerekítettük, és csak az összeadás után alakítottunk egészre.
Ez kézi rétegszámítás. A színátváltót az alapszín és a már kiszámolt eredményszín ellenőrzésére használd; az RGB bevitel nem helyettesíti a teljes oldal rétegeinek vizsgálatát.
Két áttetsző réteg fedettsége
Az egymásra kerülő alfákat általában nem lehet egyszerűen összeadni. Ha két egyforma színű, különálló, 50%-os réteget teszel egymás fölé, az együttes fedettség 1 − (1 − 0,5) × (1 − 0,5) = 0,75, azaz 75%. A végleges színhez ezután a háttér is szükséges.
Eltérő előtérszíneknél a rétegek sorrendje is számít. A 0–255 tartományú színcsatornát pedig ne keverd össze a 0–1 tartományú alfaértékkel. Egy 128-as nyolcbites alfa aránya 128 / 255 ≈ 0,502, ami kicsit nagyobb a pontos 0,5-nél.
A konkrét felület ellenőrzésekor ezért őrizd meg az alapszínt, a fedettséget, a hátteret és a rétegek sorrendjét. A kiszámolt RGB érték ezekkel a feltételekkel együtt értelmezhető.