Kanał alfa

Kanał alfa (ang. alpha channel) – dodatkowy kanał, definiujący przezroczystość wyświetlanych informacji graficznych. 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).

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

Sposób zapisu kanału alfaEdytuj

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.

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. 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 graficzneEdytuj

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 graficzneEdytuj

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).

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).

HistoriaEdytuj

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.[1]

PrzypisyEdytuj

  1. Thomas Porter, Tom Duff, Compositing Digital Images, „Computer Graphics”, lipiec 1984.

Zobacz teżEdytuj