RGB spalvų pasirinkimas yra praktiškas įrankis, tačiau tikrasis malonumas prasideda tada, kai skaičiai „nustoja atrodyti kaip biurokratinė nesąmonė ir ima atrodyti kaip fizika". Reikšmė rgb(255, 0, 0) – tai ne atsitiktinis etiketė ant spalvos, kurią priklijavo nuobodus algoritmas. Tai kompaktiškas aprašymas to, kaip skaitmeninė šviesa elgiasi, kaip evoliucionavo ekranų technologija ir kaip žmonių regėjimas interpretuoja pasaulį.
RGB: Trys fotonai, begalė apgavysčių
RGB reiškia Raudona, Žalia, Mėlyna (Red, Green, Blue). Šie trys kanalai sudaro pagrindinį skaitmeninių ekranų spalvų modelį. Telefonai, nešiojamieji kompiuteriai, stacionarūs monitoriai, televizoriai, LED ekranai, žaidimų grafika ir begalybė kitų švytinčių stačiakampių naudoja RGB kaip praktinę spalvų kūrimo su šviesa kalbą.
Štai kur prasideda ironija: jūsų kompiuteris negali sugeneruoti geltonos šviesos. Ekranas turi tik tris fotonų spalvų generatorius – raudoną, žalią ir mėlyną. Kai matote geltoną, ekranas tyliai spindi raudona ir žalia kartu, o jūsų smegenys – būdamos lojalios, bet lengvai apgaudinėjamos – sukuria geltonos spalvos iliuziją. Taip, visas skaitmeninis pasaulis yra 60 kadrų per sekundę kartojama trijų spalvų apgaulė. Jei jautėtės bejėgiai – teisūs buvote.
Biologinės šaknys: Kodėl būtent raudona, žalia ir mėlyna?
Norėdami suprasti, kodėl pasirinkta ši trejybė, turime trumpam palikti technologiją ir užeiti į biologiją. Žmonės dažnai mini rainelę kalbėdami apie spalvų suvokimą – tikriausiai todėl, kad ji matoma ir jai patinka dėmesys. Tačiau rainelė iš esmės tik reguliuoja, kiek šviesos patenka į akį. Tikras sunkusis spalvų suvokimo darbas atliekamas gilyn viduje, tinklainėje.
Tinklainėje yra specialios ląstelės – kūgeliai. Žmonės paprastai turi tris kūgelių tipus, kurių kiekvienas jautriausias skirtingam šviesos bangos ilgiui: vienas – raudonoms bangoms, kitas – žalioms, trečias – mėlynoms. Smegenys neskleidžia spektrinių diagramų – jos lygina santykinius signalus iš šių trijų kūgelių tipų ir sukonstruoja spalvos pojūtį.
Tai reiškia, kad mums nereikia atskiro receptoriaus kiekvienai matomai spalvai. Vietoj to, regėjimo sistema sukuria milžinišką suvokiamų spalvų diapazoną iš santykinių atsakymų per kelis kanalus. Ekranų inžinieriai tiesiog pasiskolino šį gamtos triuką. RGB – tai praktinė inžinerinė reakcija į žmogaus regėjimo veikimą.
Thomas Young, Helmholtz ir Maxwell: RGB prieš ekranus
Šios idėjos intelektualinės šaknys siekia XIX amžių. Thomas Young XIX amžiaus pradžioje pasiūlė pirminę trichromato spalvų suvokimo teoriją, kurią vėliau patobulino Hermannas von Helmholtz. Jų darbas padėjo konceptualų pagrindą idėjai, kad žmogaus spalvų suvokimą galima paaiškinti trimis persidengiančiais atsakymų kanalais.
Tada atėjo Jamesas Clerk Maxwell – žmogus, kuris nusipelno vietos prie RGB stalo daugiau nei dėl vienos priežasties. 1860-aisiais Maxwell'as parodė, kad daugelį spalvų galima atkurti derinant raudoną, žalią ir mėlyną šviesą. Principas buvo aiškus: trys tinkamai parinkti šviesos komponentai gali atkurti plačią matomų spalvų gamą žmonių stebėtojams. Nepatogi tiesa: kažkas šią idėją sugalvojo dar prieš tai, kai egzistavo elektra. Pasaulis to tiesiog nepastebėjo.
Kiek spalvų? 16 777 216. Ir vis tiek pasirenkate pilką
Daugumoje šiuolaikinių įrankių kiekvienas RGB kanalas eina nuo 0 iki 255. Tai suteikia 256 galimas reikšmes vienam kanalui. Padauginus iš trijų kanalų – gauname daugiau nei šešiolika milijonų galimų spalvų kombinacijų. Tai labai daug spalvų žmonėms, kurie vis tiek pasirenka neįskaitomą tekstą ant bjaurios fono ir nustebsta.
Reikšmių diapazonas kyla iš 8 bitų saugojimo per kanalą. Aštuoni bitai gali pavaizduoti 256 skirtingas reikšmes – nuo 0 iki 255. Tai nėra paslaptinga matematika. Paprasta dvejetainė buhalterija tapo skaitmeninės spalvos pastoliais.
Pavyzdžiai leidžia geriau pajusti sistemą. rgb(255, 0, 0) – visiškai raudona. rgb(0, 255, 0) – visiškai žalia. rgb(0, 0, 255) – visiškai mėlyna. rgb(255, 255, 255) – balta, nes visi trys šviesos kanalai dega maksimaliu intensyvumu. rgb(0, 0, 0) – juoda, nes nespinduliuojama jokia šviesa. Tai atskleidžia, kad RGB yra adityvusis modelis: pradedama nuo tamsos ir pridedama šviesos.
HEX – tai tiesiog RGB su prabangesniais kostiumais
Žmonės dažnai painiojasi dėl RGB ir HEX santykio. Paaiškinimas malonus savo paprastumu: HEX iš esmės yra RGB, užrašytas šešioliktainiame formate. Pavyzdžiui, #FF0000 reiškia, kad raudonasis kanalas yra FF, žaliasis – 00, o mėlynasis – 00. Dešimtainė FF reikšmė yra 255, taigi #FF0000 yra ta pati spalva kaip rgb(255, 0, 0). Ta pati spalva, skirtingas žymėjimas. Vienas glaustas ir patogus mašinoms. Kitas dažnai lengviau suprantamas žmonėms. Tarp jų nėra kraujo feudo.
RGB prieš CMYK: Skirtingi visatų fizikos dėsniai
Jei kada nors kūrėte ryškų logotipą kompiuterio ekrane ir vėliau pamatėte jį išspausdintą ant vizitinės kortelės, greičiausiai patyrėte gilią egzistencinę neviltį. Jūsų elektrinė ciano #00E5FF spaudinyje virto liūdnu pelkių dumblu.
- RGB (Adityvusis modelis): Spinduliuojama šviesa. Pradedama nuo tamsos ir pridedama fotonų. Daugiau šviesos = ryškiau. Šviesos triumfas!
- CMYK (Subtraktyvusis modelis): Popierius ir dažai. Popierius nespinduliuoja fotonų. Dažai yra cheminis pigmentų sluoksnis, kurio vienintelė užduotis – sugerti (subtrahuoti) šviesą. Cianas sugeria raudoną, Magenta sugeria žalią, Geltona sugeria mėlyną.
Kai spausdintuvas bando atkartoti neoninę ekrano šviesą, jis tėra vargšas cheminių elementų maišytojas, atsitrenkiantis į termodinaminį apribojimą: fizinis pigmentas negali atspindėti daugiau šviesos, nei į jį krenta iš kambario lemputės. Tai ne techninis trūkumas – tai visatos fizika.
HSL: Spalvų koordinatės žmonėms, turintiems jausmus
Inžinieriams patinka RGB, nes skaičiai rgb(255, 122, 0) tiesiogiai valdo mikroschemų registrus. Tačiau jei paklausite menininko: „Pridėk šiek tiek daugiau saulės į šį toną", jis neskaičiuos baitų. HSL (Hue / Atspalvis, Saturation / Sotumas, Lightness / Šviesumas) kalba žmoniškai:
- Atspalvis (0°–360°): 0° – Raudona, 60° – Geltona, 120° – Žalia, 240° – Mėlyna.
- Sotumas (0%–100%): 0% – depresyvi pilkuma, 100% – gryna sprogstama spalva.
- Šviesumas (0%–100%): 0% – juoda skylė, 100% – akinanti balta šviesa.
HSL leidžia mąstyti žmogiškai. Išlaikykite tą patį atspalvį, bet šiek tiek sumažinkite sotumą fonui arba padidinkite šviesumą mygtuko paspaudimui. RGB yra mašinos kalba – HSL yra menininko kalba. Abiem galima pasiekti tą pačią spalvą, tik skirtingais keliais.