Kanał alfa
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, blue – czerwony, 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].
Sposób zapisu kanału alfa
[edytuj | edytuj kod]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 | edytuj kod]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 | edytuj kod]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 | edytuj kod]Koncepcja kanału alfa została wprowadzona przez Alvy’ego Raya Smitha pod koniec lat siedemdziesiątych, następnie w pełni rozwinięta w artykule z 1984 roku autorstwa Thomasa Portera , wiceprezesa ds. strategii produkcji w Pixar oraz amerykańskiego programisty Toma Duff’a .[5]
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ Krzysztof Kopciowski , Fundamenty grafiki komputerowej – kanał alfa [online], Keylight, 21 października 2017 [dostęp 2024-07-12] (pol.).
- ↑ a b Grafika komputerowa: przezroczystość [online], eduinf.waw.pl [dostęp 2024-07-12] .
- ↑ 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.).
- ↑ a b The Alpha Channel [online], Linearity blog, 13 czerwca 2022 [dostęp 2024-07-12] (ang.).
- ↑ Thomas Porter , Tom Duff , Compositing Digital Images, „Computer Graphics”, lipiec 1984 .