Kanał alfa (ang. alpha channel) – dodatkowy kanał, definiujący przezroczystość wyświetlanych informacji graficznych[1]. Jest on zapisywany razem z trzema wartościami barw składowych RGB (ang. red, green, blueczerwony, zielony i niebieski). Wartość zerowa tego kanału oznacza pełną przezroczystość, zaś maksymalna – całkowitą nieprzezroczystość (czyli barwę jak bez kanału alfa)[2].

Przykład ilustrujący kanał alfa określający przezroczystość kolorów

Sposób zapisu kanału alfa

edytuj

W 24-bitowym formacie zapisu barw kanał alfa ma postać liczby 8-bitowej (0 do 255), trzy pozostałe kanały, również 8-bitowe, przeznaczone są na informacje o poziomie nasycenia kolorów składowych RGB. Utworzony w ten sposób format RGBA (RGB+Alfa) pozwala precyzyjnie określić stopień przezroczystości oraz udział poszczególnych kolorów składowych w wyświetlanym obrazie[2].

Na stronach internetowych, a ściślej wykorzystując CSS, kanał alfa jest zapisywany w sposób ciągły jako liczba od 0 do 1. Czyli w tym wypadku rgba(255, 0, 0, 0) to w pełni przeźroczysty czerwony, a rgba(255, 0, 0, 0.5) półprzeźroczysty czerwony[3]. Różni się to od ustawienia przeźroczystości elementu (opacity), ponieważ nie wpływa na elementy, które się w nim znajdują. To znaczy element z pełną przeźroczystością nie będzie w ogóle widoczny, a element z tłem, które ma kanał alfa ustawiony na zero, może mieć widoczne obramowanie i inne elementy wewnętrzne (np. tekst).

Pliki graficzne

edytuj

Nie wszystkie formaty plików graficznych pozwalają na zapis kanału alfa. Dla przykładu popularny JPEG w ogóle go nie obsługuje, a GIF umożliwia zapisanie jedynie dwóch stopni – albo pełna przeźroczystość, albo pełna barwa. Jednym z popularnych formatów graficznych obsługujących pośrednie stopnie przezroczystości jest format PNG – kanał alfa może mieć w nim 256 poziomów.

Programy graficzne

edytuj

W programach do obróbki grafiki rastrowej 2D operuje się zwykle nie tyle kanałem alfa co przeźroczystością warstw. Dopiero po spłaszczeniu i zapisie w formacie typu PNG barwy są nakładane na siebie i otrzymywana jest konkretna wartość piksela. W takich aplikacjach kanałem alfa operuje się jedynie przy wybieraniu barwy narzędzia (np. pędzla)[4].

W programach do obróbki grafiki wektorowej w tym w grafice 3D częściej operuje się pojęciem kanału alfa. Barwa każdego elementu, a nawet osobno jego obramowania i wypełnienia może być zapisana jako RGBA. W nich także może osobno występować pojęcie przeźroczystości elementów lub grup elementów (analogicznie jako opisane powyżej dla CSS)[4].

Historia

edytuj

Koncepcja kanału alfa została wprowadzona przez Alvy’ego Raya Smitha(inne języki) pod koniec lat siedemdziesiątych, następnie w pełni rozwinięta w artykule z 1984 roku autorstwa Thomasa Portera(inne języki), wiceprezesa ds. strategii produkcji w Pixar oraz amerykańskiego programisty Toma Duff’a(inne języki).[5]

Zobacz też

edytuj

Przypisy

edytuj
  1. Krzysztof Kopciowski, Fundamenty grafiki komputerowej – kanał alfa [online], Keylight, 21 października 2017 [dostęp 2024-07-12] (pol.).
  2. a b Grafika komputerowa: przezroczystość [online], eduinf.waw.pl [dostęp 2024-07-12].
  3. Alpha (alpha channel) - MDN Web Docs Glossary: Definitions of Web-related terms | MDN [online], developer.mozilla.org, 24 stycznia 2024 [dostęp 2024-07-12] (ang.).
  4. a b The Alpha Channel [online], Linearity blog, 13 czerwca 2022 [dostęp 2024-07-12] (ang.).
  5. Thomas Porter, Tom Duff, Compositing Digital Images, „Computer Graphics”, lipiec 1984.