Czym jest kanał alfa? Jak działa przezroczystość obrazu

Kanał alfa to czwarta liczba dla każdego piksela, która mówi, na ile jest on przezroczysty. Zrozumienie go wyjaśnia większość problemów z przezroczystym tłem, od białych obwódek wokół wycięć po pliki PNG wyświetlane na czarnym tle.

Zaktualizowano 23 października 2026 · 7 min czytania

Pomiń kroki: usuń tło jednym kliknięciem. Prześlij zdjęcie

Każdy piksel zwykłego obrazu opisują trzy liczby: ile zawiera czerwieni, zieleni i błękitu. To wystarczy, żeby określić kolor piksela, ale nie to, czy da się przez niego coś zobaczyć. Kanał alfa to czwarta liczba dla każdego piksela, która robi właśnie to: przechowuje krycie, od całkowitej przezroczystości do całkowitej nieprzezroczystości.

Gdy ktoś mówi o "PNG z przezroczystym tłem", ma na myśli obraz z kanałem alfa, w którym piksele tła mają wartość alfa równą zero. Ten poradnik wyjaśnia, jak działa ta liczba, na jakie dwa sposoby programy ją zapisują, dlaczego krawędzie wychodzą źle i jak sprawdzić, co naprawdę zawiera plik.

RGBA: cztery kanały na piksel

MDN definiuje kanał alfa prosto: kolory składają się z kanałów (czerwonego, zielonego i niebieskiego), a żeby opisać kolor, "przez który w pewnym stopniu widać tło", dodaje się czwarty kanał. Obraz ze wszystkimi czterema nazywa się RGBA.

Wartość można zapisać na kilka sposobów i wszystkie znaczą to samo:

ZapisCałkowicie przezroczystyW połowie przezroczystyCałkowicie nieprzezroczysty
Liczba 8-bitowa (większość plików graficznych)0128255
Liczba 16-bitowa (16-bitowy PNG)03276865535
Ułamek (obliczenia kompozycji, CSS)00,51
Procent (CSS)0%50%100%
Przyrostek hex (CSS #rrggbbaa)0080ff

Specyfikacja PNG ujmuje to precyzyjnie: wartość alfa równa zero oznacza pełną przezroczystość, maksymalna wartość dla danej głębi bitowej oznacza pełne krycie, a wartości pośrednie to częściowo przezroczyste piksele, "które można nałożyć na obraz tła".

Najważniejsze są właśnie te wartości pośrednie. Dobre wycięcie to nie tylko "obiekt nieprzezroczysty, tło przezroczyste". Piksele wzdłuż krawędzi, zwłaszcza we włosach, sierści, tkaninach, szkle i przy rozmyciu ruchu, są częściowo przezroczyste i to dzięki nim obiekt wygląda naturalnie na nowym tle, zamiast wyglądać na wycięty nożyczkami.

Jak rysowany jest przezroczysty piksel

Gdy aplikacja umieszcza twój obraz na czymś innym, miesza każdy piksel z tym, co jest pod nim. Specyfikacja W3C Compositing and Blending podaje podstawowy wzór:

result = Cs x as + Cb x ab x (1 - as)

Cs, as = color and alpha of your image (the source)
Cb, ab = color and alpha of what is behind it (the backdrop)

W typowym przypadku nieprzezroczystego tła wzór sprowadza się do średniej ważonej. Piksel z alfą 0,3 wnosi 30% własnego koloru i przepuszcza 70% tła.

Alfa prosta a premultiplikowana

Kolor częściowo przezroczystego piksela można zapisać na dwa sposoby, a pomylenie ich to klasyczne źródło ciemnych lub jasnych obwódek.

Alfa prosta (nazywana też niepowiązaną lub niepremultiplikowaną) zapisuje kolor tak, jakby piksel był całkowicie nieprzezroczysty, a krycie przechowuje osobno. W połowie przezroczysty czysto czerwony piksel zapisany jest jako czerwony 255, zielony 0, niebieski 0, alfa 128.

Alfa premultiplikowana (nazywana też powiązaną) zapisuje kolor już pomnożony przez alfę. Ten sam piksel zapisany jest jako czerwony 128, zielony 0, niebieski 0, alfa 128. Jak ujmuje to specyfikacja PNG, taki obraz "jest już nałożony na czarne tło".

To, której używa plik, zależy od formatu i programu:

  • PNG zawsze używa alfy prostej. Specyfikacja mówi to wprost i zaznacza, że dzięki temu edytor może łatwo zmienić przezroczystość obrazu.
  • Potoki graficzne, silniki gier i narzędzia do kompozycji wideo często wewnętrznie pracują na alfie premultiplikowanej, bo obliczenia mieszania są prostsze, a filtrowanie działa lepiej.

Problemy zaczynają się, gdy jeden program zapisuje wartości premultiplikowane, a drugi odczytuje je jako proste. Kolory wzdłuż krawędzi wychodzą za ciemne i powstaje cienki czarny kontur. W odwrotnej sytuacji krawędzie są za jasne. Jeśli na każdym wycięciu z jednego narzędzia widzisz taką samą ciemną obwódkę, w pierwszej kolejności podejrzewaj niezgodność premultiplikacji.

Skąd obwódki na wycięciach

Obwódka (halo) to widoczny brzeg wokół obiektu, który do niego nie należy. Ma cztery typowe przyczyny i każda ma własne rozwiązanie.

1. Stare tło jest wtopione w piksele krawędzi

Aparat nigdy nie rejestruje czystej granicy. Kosmyk włosów na tle zielonego żywopłotu daje piksele, które są częściowo włosem, a częściowo żywopłotem. Jeśli wycięcie zachowa oryginalne kolory tych pikseli i tylko uczyni je półprzezroczystymi, zieleń zostaje w nich wymieszana. Na białym tle obiekt ma wtedy delikatną zieloną poświatę.

Rozwiązaniem jest dekontaminacja kolorów: oszacowanie prawdziwego koloru pierwszego planu dla każdego piksela krawędzi i zapisanie go w miejsce starego. W Photoshopie ta funkcja nazywa się Odkażanie kolorów (Decontaminate Colors) i znajduje się w obszarze roboczym Zaznacz i maskuj, a otwartoźródłowa biblioteka rembg ma opcję decontaminate, która robi to samo. Zmienia ona kolory krawędzi, nigdy kształt maski.

2. Maska jest za twarda

Jeśli maska ma tylko piksele całkowicie nieprzezroczyste i całkowicie przezroczyste, krawędzie wyglądają na poszarpane, a wygładzanie krawędzi z oryginalnego zdjęcia zostawia wokół obiektu jednopikselową linię w kolorze tła. Miękkie obiekty, takie jak włosy, potrzebują miękkiej maski z prawdziwymi wartościami pośrednimi.

3. Ukryte kolory w przezroczystych pikselach

Piksel z alfą równą zero w pliku z alfą prostą nadal ma wartości czerwieni, zieleni i błękitu. Nie widać ich, ale skalowanie lub rozmywanie obrazu miesza sąsiednie piksele i jeśli te ukryte kolory są białe lub czarne, przenikają do widocznej krawędzi. Dobre biblioteki graficzne unikają tego, premultiplikując obraz przed skalowaniem i konwertując go z powrotem po nim.

4. Obraz został spłaszczony na kolorze

GIF-y i PNG z paletą często obsługują tylko przezroczystość typu włącz lub wyłącz, więc narzędzia przed zapisem wygładzają krawędź względem koloru matte, zwykle białego. Taki obraz wygląda dobrze na białym tle, a na wszystkim ciemniejszym pokazuje białą obwódkę. Jeśli wycięcie ma leżeć na ciemnym tle, wyeksportuj je z pełnym kanałem alfa.

Maski, matte i alfa: słowniczek

Te pojęcia się zazębiają i bywają używane dość swobodnie. Oto co zwykle znaczą:

  • Kanał alfa: wartości krycia zapisane w pliku obrazu, po jednej na piksel.
  • Maska: obraz w skali szarości, który decyduje, które części innego obrazu są widoczne. W maskach warstw w Photoshopie biel odsłania, czerń zakrywa, a szarości są częściowo widoczne. Maskę można edytować bez naruszania oryginalnych pikseli, dlatego profesjonaliści usuwają tło za pomocą masek, a nie gumki.
  • Matte: termin z filmu i kompozycji na to samo, obraz w skali szarości określający, co zostaje. "Matting" to problem obliczania miękkich, dokładnych matte dla trudnych krawędzi, takich jak włosy.
  • Trimapa: zgrubna mapa z trzema strefami (na pewno pierwszy plan, na pewno tło, niepewne), od której zaczynają niektóre algorytmy mattingu.
  • Maska binarna lub twarda: tylko czerń i biel, bez szarości. Wystarcza przy pudełkach i logo, słabo radzi sobie z włosami.
  • Wycięcie: gotowy efekt, czyli kolory obiektu plus kanał alfa.

Maska i kanał alfa zawierają te same informacje. Wiele narzędzi pozwala wyeksportować jedno lub drugie: PNG z przezroczystym tłem z wbudowaną alfą albo osobny czarno-biały obraz maski, który możesz samodzielnie nałożyć w edytorze lub programie do wideo.

Które formaty mogą przechowywać alfę

FormatObsługa alfy
PNGPełna alfa (8 lub 16 bitów) albo jeden przezroczysty kolor z palety
WebPPełna alfa, zarówno w trybie bezstratnym, jak i stratnym
AVIFPełna alfa
GIFTylko włącz lub wyłącz: jeden kolor z palety oznaczony jako przezroczysty
JPEGBrak

Pełne porównanie tych formatów znajdziesz w poradniku PNG, JPEG czy WebP.

Jak sprawdzić, czy obraz ma przezroczystość

Rozszerzenie .png nie dowodzi przezroczystości. Wiele plików PNG jest całkowicie nieprzezroczystych, a niektóre "przezroczyste" obrazy znalezione w sieci to pliki JPEG z szaro-białą szachownicą namalowaną w pikselach. Oto niezawodne sposoby sprawdzenia.

Na oko

Umieść obraz na ciemnym i na jasnym tle, na przykład w prezentacji lub narzędziu graficznym. Prawdziwe wycięcie w obu przypadkach pokazuje kolor tła wokół obiektu. Jeśli nadal widzisz szachownicę, jest ona częścią obrazu, a nie przezroczystością.

Za pomocą ImageMagick

# Does the file have an alpha channel at all?
identify -format "%A\n" photo.png

# Is it fully opaque anyway? (true means no visible transparency)
identify -format "%[opaque]\n" photo.png

%A zgłasza kanał przezroczystości (dokładne słowo różni się między ImageMagick 6 i 7), a %[opaque] oblicza, czy każdy piksel jest całkowicie nieprzezroczysty. Chcesz zobaczyć kanał alfa i false.

Za pomocą Pythona i Pillow

from PIL import Image

im = Image.open("photo.png")
print(im.mode)                    # RGBA or LA means an alpha channel
print(im.has_transparency_data)   # True if the file carries any transparency info

if "A" in im.getbands():
    lo, hi = im.getchannel("A").getextrema()
    print("alpha range:", lo, hi)  # lo == 255 means nothing is transparent

Sprawdzenie wartości skrajnych wyłapuje częsty przypadek pliku RGBA, w którym każdy piksel jest nieprzezroczysty.

Gdy platforma ignoruje alfę

Niektóre miejsca usuwają lub ignorują przezroczystość. Etsy podaje, że przezroczyste PNG nie są obsługiwane, a przezroczyste obszary mogą wyświetlać się na czarno, a marketplace'y takie jak Amazon i Walmart i tak wymagają zdjęć głównych na czysto białym tle. W takich przypadkach spłaszcz wycięcie na kolorze tła samodzielnie, żeby mieć kontrolę nad efektem. Na własnej stronie, w prezentacjach i w narzędziach graficznych zachowaj alfę.

Szybki sposób na czysty kanał alfa

Jeśli potrzebujesz wycięć z miękkimi krawędziami zamiast twardych masek, removebackground.dev tworzy pliki PNG lub WebP z przezroczystym tłem i pełnym kanałem alfa, a jego API może też zwrócić samą maskę w skali szarości.

Pytania

Co oznacza RGBA?

Czerwony, zielony, niebieski i alfa (red, green, blue, alpha). Pierwsze trzy opisują kolor piksela, a czwarty jego krycie, od 0 (całkowicie przezroczysty) do wartości maksymalnej (255 w obrazach 8-bitowych) oznaczającej pełne krycie.

Czym różni się alfa prosta od premultiplikowanej?

Alfa prosta przechowuje pełny kolor piksela i jego krycie osobno. Alfa premultiplikowana przechowuje kolor już pomnożony przez krycie, tak jakby został nałożony na czerń. PNG zawsze używa alfy prostej; wiele narzędzi do renderowania i wideo wewnętrznie używa premultiplikowanej.

Dlaczego moje wycięcie ma białą lub kolorową obwódkę?

Zwykle stare tło jest nadal wymieszane z pikselami krawędzi albo obraz przed zapisem wygładzono względem bieli. Dekontaminacja kolorów krawędzi, miękka maska i eksport z pełnym kanałem alfa zamiast koloru matte rozwiązują większość przypadków.

Czy maska to to samo co kanał alfa?

Zawierają te same informacje: wartość w skali szarości dla każdego piksela, która mówi, na ile jest on widoczny. Kanał alfa jest zapisany w pliku obrazu; maska to zwykle osobny obraz w skali szarości albo maska warstwy w edytorze.

Jak sprawdzić, czy PNG jest naprawdę przezroczysty?

Umieść go na ciemnym i jasnym tle i sprawdź, czy tło prześwituje. Możesz też uruchomić identify z ImageMagick z %[opaque] albo sprawdzić minimalną wartość kanału alfa w Pillow; minimum 255 oznacza, że nic nie jest przezroczyste.

Wypróbuj na własnym zdjęciu

Nowe konta dostają 50 darmowych kredytów. Jeden kredyt za zdjęcie, bez subskrypcji, a kredyty nigdy nie wygasają.

Usuń tło

Źródła