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.
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 od dołu do góry; liczby w pierwszym rzędzie mapy bitowej odpowiadają pikselom w dolnym rzędzie 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 zamiast indeksów 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.
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.
Format wymiany grafiki (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 niedostrzegalna dla ludzkiego oka. Pliki JPEGs przechowują 24 bity na piksel, dzięki czemu mogą wyświetlać ponad 16 milionów kolorów. JPEGi 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, którego ludzkie oko nie potrafi łatwo odróżnić 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.
przykłady typów plików
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 JPEG i GIF zostały skompresowane z formatu 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.
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.).
Przenośna grafika sieciowa (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, oraz skale szarości z 1, 2, 4, 8 lub 16 bitami 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.
PNG przewyższa GIF pod względem progresywnego wyświetlania obrazu (czyli wyświetlania coraz lepszych przybliżeń obrazu w miarę jego docierania 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 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 (model skanera, komputer gospodarza, typ kompresji, orientacja, próbki na piksel, itp.) mogą być przechowywane w pliku i uporządkowane za pomocą znaczników. Format TIFF można rozszerzyć zgodnie z potrzebami przez zatwierdzenie i dodanie nowych tagów.
Zobacz też
.NET Desktop feedback