Typy map bitowych

Mapa bitowa to tablica bitów, która określa kolor każdego piksela w prostokątnej tablicy pikseli. Liczba bitów poświęconych poszczególnym pikselom określa liczbę kolorów, które można przypisać do tego piksela. Jeśli na przykład każdy piksel jest reprezentowany przez 4 bity, można przypisać jeden z 16 różnych kolorów (2^4 = 16). W poniższej tabeli przedstawiono kilka przykładów liczby kolorów, które można przypisać do piksela reprezentowanego przez daną liczbę bitów.

Bity na piksel Liczba kolorów, które można przypisać do piksela
1 2^1 = 2
2 2^2 = 4
4 2^4 = 16
8 2^8 = 256
16 2^16 = 65 536
24 2^24 = 16,777,216

Pliki dysków przechowujące mapy bitowe zwykle zawierają jeden lub więcej bloków informacji, które przechowują informacje, takie jak liczba bitów na piksel, liczba pikseli w każdym wierszu i liczba wierszy w tablicy. Taki plik może również zawierać tabelę kolorów (czasami nazywaną paletą kolorów). Tabela kolorów mapuje liczby na mapie bitowej na określone kolory. Na poniższej ilustracji przedstawiono powiększony obraz wraz z mapą bitową i tabelą kolorów. Każdy piksel jest reprezentowany przez liczbę 4-bitową, więc w tabeli kolorów znajduje się 2^4 = 16 kolorów. Każdy kolor w tabeli jest reprezentowany przez 24-bitową liczbę: 8 bitów dla czerwonego, 8 bitów dla zieleni i 8 bitów dla niebieskiego. Liczby są wyświetlane w postaci szesnastkowej (podstawa 16) : A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Screenshot of an enlarged image with its bitmap and color table.

Przyjrzyj się pikselowi w wierszu 3, kolumnie 5 obrazu. Odpowiadająca liczba w mapie bitowej to 1. Tabela kolorów informuje nas, że 1 reprezentuje kolor czerwony, więc piksel jest czerwony. Wszystkie wpisy w górnym wierszu mapy bitowej to 3. Tabela kolorów informuje nas, że 3 reprezentuje kolor niebieski, więc wszystkie piksele w górnym wierszu obrazu są niebieskie.

Uwaga

Niektóre mapy bitowe są przechowywane w formacie dolnej; liczby w pierwszym wierszu mapy bitowej odpowiadają pikselom w dolnym wierszu obrazu.

Mapa bitowa, która przechowuje indeksy w tabeli kolorów, jest nazywana mapą bitową indeksowaną paletą. Niektóre mapy bitowe nie potrzebują tabeli kolorów. Jeśli na przykład mapa bitowa używa 24 bitów na piksel, mapa bitowa może przechowywać same kolory, a nie indeksować w tabeli kolorów. Poniższa ilustracja przedstawia mapę bitową, która przechowuje kolory bezpośrednio (24 bity na piksel), zamiast używać tabeli kolorów. Ilustracja przedstawia również powiększony widok odpowiedniego obrazu. Na mapie bitowej FFFFFF reprezentuje biały, FF0000 reprezentuje kolor czerwony, 00FF00 reprezentuje kolor zielony, a wartość 0000FF reprezentuje kolor niebieski.

Screenshot of a bitmap that stores colors directly with an enlarged view of the corresponding image.

Formaty plików graficznych

Istnieje wiele standardowych formatów zapisywania map bitowych w plikach dysków. Interfejs GDI+ obsługuje formaty plików graficznych opisane w poniższych akapitach.

BMP

BMP to standardowy format używany przez system Windows do przechowywania obrazów niezależnych od urządzeń i aplikacji. Liczba bitów na piksel (1, 4, 8, 15, 24, 32 lub 64) dla danego pliku BMP jest określona w nagłówku pliku. Typowe są pliki BMP z 24 bitami na piksel. Pliki BMP zwykle nie są kompresowane i dlatego nie są dobrze dostosowane do transferu przez Internet.

Graphics Interchange Format (GIF)

Gif to typowy format obrazów wyświetlanych na stronach sieci Web. Gify działają dobrze w przypadku rysunków liniowych, zdjęć z blokami koloru stałego i obrazów z ostrymi granicami między kolorami. Pliki GIF są kompresowane, ale żadne informacje nie są tracone w procesie kompresji; dekompresowany obraz jest dokładnie taki sam jak oryginalny. Jeden kolor w formacie GIF można oznaczyć jako przezroczysty, tak aby obraz miał kolor tła dowolnej strony sieci Web, która ją wyświetla. Sekwencja obrazów GIF może być przechowywana w jednym pliku w celu utworzenia animowanego pliku GIF. Pliki GIF przechowują maksymalnie 8 bitów na piksel, więc są one ograniczone do 256 kolorów.

Wspólna grupa ekspertów fotograficznych (JPEG)

JPEG to schemat kompresji, który dobrze sprawdza się w przypadku naturalnych scen, takich jak zeskanowane zdjęcia. Niektóre informacje są tracone w procesie kompresji, ale często utrata jest niezrozumiały dla ludzkiego oka. Pliki JPEGs przechowują 24 bity na piksel, dzięki czemu mogą wyświetlać ponad 16 milionów kolorów. Grupy JPEGs nie obsługują przejrzystości ani animacji.

Poziom kompresji obrazów JPEG można skonfigurować, ale wyższy poziom kompresji (mniejsze pliki) powoduje większą utratę informacji. Współczynnik kompresji 20:1 często tworzy obraz, że ludzkie oko znajduje trudne do odróżnienia od oryginału. Na poniższej ilustracji przedstawiono obraz BMP i dwa obrazy JPEG, które zostały skompresowane z tego obrazu BMP. Pierwszy JPEG ma współczynnik kompresji 4:1, a drugi JPEG ma współczynnik kompresji około 8:1.

Filetype samples

Kompresja JPEG nie działa dobrze w przypadku rysunków liniowych, bloków o stałym kolorze i ostrych granicach. Poniższa ilustracja przedstawia protokół BMP wraz z dwoma plikami JPEGs i GIF. Pliki JPEGs i GIF zostały skompresowane z protokołu BMP. Współczynnik kompresji wynosi 4:1 dla formatu GIF, 4:1 dla mniejszego jpeg i 8:3 dla większego JPEG. Należy pamiętać, że gif utrzymuje ostre granice wzdłuż linii, ale JPEG mają tendencję do rozmycia granic.

Filetypes

JPEG to schemat kompresji, a nie format pliku. Format wymiany plików JPEG (JFIF) jest często używany do przechowywania i przesyłania obrazów, które zostały skompresowane zgodnie ze schematem JPEG. Pliki JFIF wyświetlane przez przeglądarki sieci Web używają rozszerzenia .jpg.

Plik obrazu z możliwością wymiany (EXIF)

EXIF to format pliku używany do zdjęć przechwyconych przez cyfrowe aparaty fotograficzne. Plik EXIF zawiera obraz skompresowany zgodnie ze specyfikacją JPEG. Plik EXIF zawiera również informacje o zdjęciu (data wykonania, szybkość migawki, czas ekspozycji itd.) oraz informacje o aparacie (producent, model itd.).

Portable Network Graphics (PNG)

Format PNG zachowuje wiele zalet formatu GIF, ale zapewnia również możliwości poza formatem GIF. Podobnie jak pliki GIF, pliki PNG są kompresowane bez utraty informacji. Pliki PNG mogą przechowywać kolory z 8, 24 lub 48 bitów na piksel i skala szarości z 1, 2, 4, 8 lub 16 bitów na piksel. Natomiast pliki GIF mogą używać tylko 1, 2, 4 lub 8 bitów na piksel. Plik PNG może również przechowywać wartość alfa dla każdego piksela, który określa stopień, w jakim kolor tego piksela jest mieszany z kolorem tła.

PLIK PNG poprawia się na gif w celu progresywnego wyświetlania obrazu (czyli wyświetlania lepszych i lepszych przybliżeń obrazu w miarę zbliżania się przez połączenie sieciowe). Pliki PNG mogą zawierać informacje o korektach gamma i korektach kolorów, dzięki czemu obrazy mogą być dokładnie renderowane na różnych urządzeniach wyświetlania.

Format pliku obrazu tagu (TIFF)

TIFF to elastyczny i rozszerzalny format obsługiwany przez szeroką gamę platform i aplikacji do przetwarzania obrazów. Pliki TIFF mogą przechowywać obrazy z dowolną liczbą bitów na piksel i mogą używać różnych algorytmów kompresji. Kilka obrazów można przechowywać w jednym, wielostronicowym pliku TIFF. Informacje związane z obrazem (skaner make, host computer, type of compression, orientation, samples per pixel itd.) mogą być przechowywane w pliku i rozmieszczane za pomocą tagów. Format TIFF można rozszerzyć zgodnie z potrzebami przez zatwierdzenie i dodanie nowych tagów.

Zobacz też