semmixkolor i percepcja

Elementy opisu obrazu: wstęp

Plik graficzny to nie tylko lista kolorów pikseli. Żeby odtworzyć obraz, program musi wiedzieć, ile jest pikseli, jakiego są kształtu, jak zapisano barwy, które są przezroczyste, w jakiej kolejności idą wiersze i jak to wszystko skompresowano. Ta część działu omawia te elementy po kolei.

Obraz rastrowy

Obraz rastrowy to prostokątna siatka punktów, pikseli. Każdy piksel ma jedną barwę. Rozmiar obrazu podaje się w pikselach, np. 1920 × 1080. Obraz wektorowy (SVG, PDF z grafiką) opisuje natomiast kształty i można go powiększać bez utraty jakości. Ten dział dotyczy obrazów rastrowych.

Co opisuje plik

ElementPytanieWięcej
wymiaryile pikseli w poziomie i pionie
proporcje punktówczy piksel jest kwadratowyproporcje punktów
paletaczy barwy są zapisane wprost, czy jako numery w tabeli kolorówpaleta kolorów
głębia barwile bitów przypada na piksel albo na składowąrozdzielczość kolorów
gamma i profiljak wartości mają się do światła i do barwkorekcja gamma
przezroczystośćktóre piksele przepuszczają tło i w jakim stopniuprzezroczystość
kolejność wierszyczy wiersze idą po kolei, czy z przeplotemprzeplot
kompresjajak zmniejszono danealgorytm LZW

Ile danych zajmuje obraz

Bez kompresji obraz zajmuje szerokość × wysokość × liczbę bitów na piksel:

1920 × 1080 pikseli, 24 bity (pełny kolor RGB): 1920 · 1080 · 3 bajty = 6 220 800 bajtów ≈ 5,9 MB ten sam obraz z paletą 256 kolorów (8 bitów na piksel): 1920 · 1080 · 1 bajt + 256 · 3 bajty palety ≈ 2,0 MB

Kompresja zmniejsza to dalej. Bezstratna (LZW w GIF, Deflate w PNG) odtwarza dane co do bitu. Stratna (JPEG, WebP, AVIF) usuwa szczegóły, których oko nie zauważy, i potrafi zmniejszyć zdjęcie kilkadziesiąt razy.

Formaty i ich wybory

FormatBarwyPrzezroczystośćKompresja
GIFpaleta do 256 kolorówjeden kolor przezroczystyLZW, bezstratna
PNGpaleta albo pełny kolor do 16 bitów na składowąkanał alfaDeflate, bezstratna
JPEGpełny kolor, 8 bitów na składowąbrakDCT, stratna
WebP, AVIFpełny kolor, AVIF także 10-12 bitówkanał alfastratna albo bezstratna

Format GIF jest tu opisany najdokładniej, bajt po bajcie, w części Format GIF krok po kroku. Jest prosty, dobrze udokumentowany i zawiera prawie wszystkie elementy z tabeli powyżej.