Kanał alfa

Z Wikipedii, wolnej encyklopedii
Przykład ilustrujący kanał alfa określający przezroczystość kolorów

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

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.

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

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

Historia[edytuj | edytuj kod]

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

Przypisy[edytuj | edytuj kod]

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

Zobacz też[edytuj | edytuj kod]