Jeśli jako dziecko nie poznałeś smaku (a właściwie wyglądu) nowego kolorowego telewizora w Twoim domu, to spróbuję Ci go dziś przybliżyć. Przyblizyć teoretycznie i jeszcze bardziej wizualnie.
Jak zapewne wiesz, kolor na ekranie urządzenia, które teraz używasz powstaje z połączenia trzech barw: czerwonej, zielonej i niebieskiej (RGB). W zależności od natężenia każdej ze składowej ich połączenie tworzy inny kolor. Tyle, że ten kolor jest złudny, bo tworzą go trzy elementy (plamki) reprezentujące każdą ze składowych. Plamki są na tyle blisko, że ich nie zauważasz. Kiedy świecą mocno wszystkie trzy, Ty widzisz jeden punkt w kolorze białym. Skoro trzy plamki tworzą piksel, to każdy piksel zmieńmy w plamkę, a ich potrójna grupa utworzy nasz nowy, duży piksel. Każdy z dotychczasowych pikseli będzie reprezentował inną składową. Pozostaje tylko wybrać w jakim układzie będą reprezentować duży piksel.
Przychodzą mi do głowy trzy układy.
Pierwszy podobny do układu delta w kineskopach elektronowych. Będą to naprzemiennie stawiane "trójkąty" z pikseli.
Ra | Ba | Gb |
Ga | Rb | Bb |
a=x,y
b=x+2,y+1
Drugi i trzeci do układu Trinitron w kineskopach elektronowych czy wyświetlaczach LCD. Pionowe oraz poziome paski RGB.
Ra | Ga | Ba | Rb | Gb | Bb |
a=x,y
b=x+3,y
Ra |
Ga |
Ba |
Rb |
Gb |
Bb |
a=x,y
b=x,y+3
W powyższych przykładach parametry a oraz b wskazują na położenie oryginalnego piksela na obrazie. Widać więc, że niestety stawiając jeden duży piksel, zgubimy dwa oryginalne piksele (3 pikseloplamki odwzorują piksel, dwa pozostałe zamażemy).
That matrix colors you!
Spróbujmy odwzorować te układy. Użyjemy elementu CANVAS i przykładowego zdjęcia.
Oryginalne zdjęcie:
Układ delta:
Układ Trinitron:
Skoro już bawimy się w takie doświadczenia, to wpadł mi jeszcze jeden pomysł. Mianowicie nie będziemy całkowicie tracić dwóch rzeczywistych pikseli wstawiając duży piksel. Poszczególne składowe będziemy pobierać z kolejnych trzech pikseli, a nie z jednego jak w powyższych przykładach. Z pierwszego piksela pobierzemy składową R i wstawimy ją na pierwszy piksel, z drugiego składową G i wstawimy na drugi piksel, a z trzeciego składową B. Przy następnej grupie trzech pikseli zmienimy jednak kolejność i pobierzemy G, B, R, a kolejnym razem B, R, G. Potem znów R, G, B.
I jeszcze zbliżenie (choć możesz je sam wykonać zwiększając zoom w przeglądarce):
Tu naprawdę nie ma innych barw niż czerwony, zielony i niebieski (czarny jest wyjątkiem).
Kiedy skończysz podziwiać magię kolorów w kolejnym wpisie, w którym tworzymy coś z niczego, warto uświadomić sobie skąd się bierze paleta ponad 16 milionów kolorów generowanych przez kartę graficzną w komputerze. Mianowicie mając 256 odcieni czerwieni (8 bitów), 256 odcieni niebieskiego i 256 odcieni zieleni, kolor z nich utworzony ma 24 bity, co daje wspomniane miliony.
A teraz nie przerywam Ci - oddawaj się urokom koloroterapii.
Przydatne linki:
Matryca kineskopu
Bezpośredni dostęp do danych CANVAS