Hogyan hozhatjuk ki a maximumot 16.8 millió színből egyetlen képen? Egy magyar programozó frappáns választ adott a kérdésre.

A StackExchange egyszerű programokat várt februári versenyére, melyek képesek olyan képek létrehozására, amiken minden egyes képpont más-más színű. A feltételek közt volt, hogy a szoftver csak algoritmusok alapján rajzolhatja meg a képet, nem átalakításról, saját számítógépes műalkotást kell tehát készítenie.

Az online megmérettetés résztvevőinek saját készítésű szoftvereikkel olyan képeket kellett generálniuk, melynek minden pixele más színű. Ehhez a 24 bites RGB technika által biztosítható 16.777.216 színt használhattak. A verseny igen változatos megoldásokat hozott, végül azonban egy magyar programozót, Fejes Józsefet nyilvánították győztesnek, miután mindenkit elkápráztatott a programja által készített alkotásokkal, amiket "szivárványfüstnek" nevez.

A program automatikusan helyezi el a színes pixeleket a színárnyalat és a fényesség függvényében. Egyes képeken a színeket véletlenszerűen választja ki, majd helyezi el a legalkalmasabbnak tartott helyeken, mielőtt újabb véletlen színt választana és helyezne el. A "szivárványfüst" képeknél, melyek vízfestékkel készült virágalakzatokra emlékeztetnek, a program egy szekvenciában végig megy minden színcsoporton, először elhelyezve az összes vöröset, majd következnek a narancssárgák és így tovább. "Először nem igazán tudtam, hogy szép lesz-e, vagy sem, csupán egy érdekes programozási feladat volt számomra" - mondta Fejes. "Nagyon meglepett, milyen gyönyörű lett a végeredmény".

Bár a cikk illusztrációjául szolgáló képek is igen meggyőzőek, a valódi élményt a teljes méretű, tömörítetlen 4096x4096 pixeles képek adják vissza, ezek azok, amik valóban 16,8 millió színt tartalmaznak, emellett maga a képernyő is befolyásolja, mennyi szín is jelenik meg ténylegesen. "Bár a program gyönyörű képeket generál, az alkalmazott képernyő nem valószínű, hogy képes megjeleníteni az összes ott lévő színt" - nyilatkozott Sally Day, a University College London szakértője a New Scientist-nek. "Vannak olyan képernyők, amik lézereket használnak a vörös, zöld és kék színekhez, ezek nagyobb tartományt tudnak megjeleníteni".

A Day által említett képernyők a digitális mozik kellékei, a kereskedelmi forgalomban levő televízióknál és mobiltelefonoknál még nem elérhetők. Bár a 16,8 millió soknak hangozhat, az emberi szem az RGB korlátozott palettáján kívül eső tartomány színeit is képes észlelni. Az RGB színek egy kisebb háromszöget alkotnak az úgynevezett CIE diagramon belül, ami magába foglal minden színt, amit az emberi szem képes érzékelni.