Korzystamy z modelu RGB

Z Wikipedii:
RGB – jeden z modeli przestrzeni barw, opisywanej współrzędnymi RGB. Jego nazwa powstała ze złożenia pierwszych liter angielskich nazw barw: R - red (czerwonej), G - green (zielonej) i B - blue (niebieskiej), z których model ten się składa. Jest to model wynikający z właściwości odbiorczych ludzkiego oka, w którym wrażenie widzenia dowolnej barwy można wywołać przez zmieszanie w ustalonych proporcjach trzech wiązek światła o barwie czerwonej, zielonej i niebieskiej.
Z połączenia barw RGB w dowolnych kombinacjach ilościowych można otrzymać szeroki zakres barw pochodnych, np. z połączenia barwy zielonej i czerwonej powstaje barwa żółta. Do przestrzeni RGB ma zastosowanie Synteza addytywna, w której wartości najniższe oznaczają barwę czarną, najwyższe zaś białą.

Aplet po lewej stronie pokazuje dostępne kolory w modelu RGB, trzy składowe R, G i B w ilościach
0 - 255 zostają "wymieszane" tworząc wyjściowy kolor opisany liczbą podaną u dołu naszego apletu.


Zwróć uwagę na zapis szesnastkowy, w którym składowe koloru są charakterystycznie uporządkowane wg. schematu:
0xRRGGBB (Java) i 0xBBGGRR (C++Builder). To jeden ze sposobów określania koloru we własnym programie napisanym w C++Builderze lub Javie.
W HTML-u definiujemy : #RRGGBB patrz -> wykaz kolorów predefiniowanych


Liczba określająca kolor może być przekazywana kompilatorowi na 4 sposoby:

  1. kolor=11432872 ( w zapisie dziesiętnym )
  2. kolor=0xAE73A8 ( w zapisie szesnastkowym )
  3. kolor=(174<<16)+(115<<8)+168; ( inaczej 17416+1158+168 )
       tzn kolor=(r<<16)+(g<<8)+b;
  4. kolor=174<<16|115<<8|168; ( gdzie "|" oznacza alternatywę bitów np 1100|1010=1110 )


Języki programowania posiadają oczywiście mechanizmy tworzenia kolorów i zmiany kolorów rysowanych figur:

C++BuilderSkutek
kolor=0xA873AE
Utwórz kolor
kolor=RGB(174,115,168)
Utwórz kolor
Form1->Canvas->Pen->Color=kolor;
Zmień kolor pióra
Form1->Canvas->Brush->Color=kolor;
Zmień kolor pędzla
JavaSkutek
kolor=new Color(0xAE73A8)
Utwórz kolor
kolor=new Color(174,115,168)
Utwórz kolor
kolor=new Color(0.2f,0.75f,0.46f)
Utwórz kolor
g.setColor(kolor)
Zmień kolor pióra/pędzla

Z powyższej tabeli wynika, że w Javie kolor jest obiektem, posiadającym wiele interesujących cech np
wywołanie kolor=new Color(0xAE73A8).brighter()) oznacza utworzenie koloru 0xAE73A8 w wersji "rozjaśnionej".
Więcej szczegółów na ten temat : znajdziesz w okumentacji JDK 1.6.0, szukaj klasa Color