RGBA

RGBA – jeden z modeli przestrzeni barw opisywanej parametrami RGBA. Jego nazwa powstała ze złożenia pierwszych liter angielskich nazw barw: Rred (czerwonej), Ggreen (zielonej), Bblue (niebieskiej), oraz dodatkowo Aalpha (kanał alfa).

 Osobny artykuł: RGB.
Symboliczne logo przedstawiające koło podzielone na 4 części: 3 kolory główne, oraz kanał alfa. Plik PNG, do którego zapisano logo, sam również korzysta z dodatkowego kanału alfa.

Podstawowe informacje

Ten model czasami jest traktowany jako osobny, jednak w rzeczywistości jest to tradycyjny model RGB, poszerzony o dodatkowe informacje. Udoskonalenie to kanał alfa nazwany tak od greckiej litery alfa w klasycznym wzorze interpolacji liniowej: α A + ( 1 α ) B . {\displaystyle \alpha A+(1-\alpha )B.} Został opracowany przez grafików Edwina Catmulla, oraz Alvy’ego Raya Smitha w latach 1971–1972. Umożliwił on wprowadzenie do obrazów obsługi efektu przezroczystości.

Kanał alfa

 Osobny artykuł: Kanał alfa.

Kanał alfa normalnie jest używany jako odpowiednik współczynnika pochłaniania światła. Gdy kanał alfa skojarzony z danym pikselem ma wartość 0%, to taki piksel staje się całkowicie przezroczysty, czyli przybiera kolor tła znajdującego się pod nim. W rezultacie jest widoczne jedynie tło, a nie rzeczywisty kolor piksela. Natomiast, gdy wartość zapisana we współczynniku alfa wyniesie 100%, piksel będzie całkowicie widoczny (jak w zwykłym obrazie cyfrowym bez kanału alfa). Istnieje też możliwość nadania współczynnikowi alfa wartości pośrednich – między α = 0 a α = 100%. Takie wartości umożliwiają pikselom „prześwit” tła, na które zostały nałożone (pikselom nadaje się efekt półprzezroczystości). Taki efekt nie byłby możliwy we współczynniku binarnym – przyjmującym tylko dwie wartości – gdyż wtedy możliwe byłoby jedynie tworzenie pikseli w pełni przezroczystych lub w pełni nieprzezroczystych (odpowiednio α = 0%, oraz α = 100%). Wprowadzenie współczynnika alfa pozwala w łatwy sposób manipulować obrazami i łączyć je ze sobą, jednocześnie zachowując efekty wzrokowe, znane z życia codziennego. Wartości kanału alfa mogą być wyrażane procentowo, jako liczby całkowite (najczęściej z przedziału od 0 do 255), lub liczby rzeczywiste (z przedziału od 0 do 1). Tak samo można wyrażać współczynniki RGB.

ARGB

Czasami spotyka się oznaczenie ARGB, jest ono tożsame z modelem RGBA, jednak kolejność wartości jest w nim odmienna – kanał alfa jest jako pierwszy. Jedną z firm, która użyła takiego oznaczenie standardu w swoich produktach, jest Macromedia.

Przykład kodowania ARGB

Rozważmy wartość ARGB zapisaną szesnastkowo jako: 0x80FFFF00. Jest to kolor żółty, z efektem półprzezroczystości. Poszczególne kanały wyrażone są w zakresie od 0 do 255.

Kanał alfa

Szesnastkowo wyrażony kanał alfa o wartości 0x80 (0x80 FFFF00), co oznacza 128 dziesiętnie, czyli α ≈ 50%.

Kanał R (red)

Szesnastkowe 0xFF (0x 80 FF FF00) oznacza dziesiętne 255 – otrzymamy w pełni nasyconą czerwień.

Kanał G (green)

Druga taka sama wartość – 0xFF (0x 80FF FF 00) – odnosi się do zieleni i tak jak czerwień, będzie w pełni nasycona.

Kanał B (blue)

Ostatnie dwa zera w systemie szesnastkowym 0x00 (0x 80FFFF 00) to także zero w systemie dziesiętnym – oznaczają brak jakiegokolwiek odcienia koloru niebieskiego.

Rezultat

Połączenie w pełni nasyconych kolorów czerwonego i zielonego da nam w pełni nasycony kolor żółty, a 50% wartości parametru alfa nałoży na otrzymaną żółtą barwę efekt półprzezroczystości.

Zastosowanie RGBA

  • W grafice zapisanej w formacie PNG (przykład w logo na początku artykułu), GIF itp.
  • W systemach operacyjnych pozwalających na zastosowanie przezroczystości w interfejsie użytkownika.
  • W programach graficznych 2D typu Adobe Photoshop.
  • W programach graficznych 3D typu Blender.
  • W programach do grafiki prezentacyjnej typu Microsoft PowerPoint.
  • W grach komputerowych.

Zobacz też

Linki zewnętrzne

  • efekt przezroczystości za sprawą kanału alfa na stronach W3C (www.w3.org) – specyfikacja standardu PNG (ang.)
  • kolory RGBA w stylach CSS – podgląd przykładowego użycia na www.css3.info (ang.)