3. Formaty graficzne stosowane w WWW

W przypadku grafiki internetowej istnieją dwa podstawowe formaty graficzne: GIF oraz JPEG. Obydwa formaty stosują odmienne metody kompresji i mają zastosowanie do innych modeli kolorów.

Format GIF został stworzony przez firmę Compuserve z myślą o przekazywaniu grafiki pomiędzy różnorodnymi platformami komputerowymi i w bardzo krótkim czasie stał się standardem do wymiany grafiki w Internecie (tu właśnie występuje problem różnorodnych niekompatybilnych systemów komputerowych). Dodatkowo format ten pozwala na wyświetlanie ciągu kolejnych bitmap (znajdujących się we wspólnym pliku), które w ten sposób tworzą animowaną sekwencję, jednocześnie umożliwia określenie jak długo dana klatka ma być widoczna oraz w jaki sposób powinna pojawić się na ekranie (dostępne są dwa tryby: z przeplotem i zwykły). Kolejną ciekawą cechą tego formatu jest możliwość zdefiniowania kolorów “przezroczystych”, to znaczy takich które nie będą wyświetlane (w efekcie na stronie internetowej w miejscu koloru “przezroczystego” widoczne jest tło). Pozwala to na osiągnięcie różnych ciekawych efektów.

W celu zmniejszenia objętości plików GIF zastosowano model IndexedColor, oraz kompresję LZW, która dodatkowo zmniejsza rozmiar zbioru. Użycie trybu wyświetlania z przeplotem pozwala na szybsze pokazanie zarysu grafiki na ekranie użytkownika. Wyświetlanie to polega na pokazaniu wpierw co 8 linii, potem co 4, co 2, a na końcu linii nieparzystych.

Przy stosowaniu GIF'a należy pamiętać, że nie potrafi on zapisywać obrazów w modelu RGB, dlatego przed zachowaniem zbioru w tym formacie, należy dokonać “świadomej” transformacji na tryb IndexedColor. Celowo podkreślam słowo świadomej, gdyż często zdarza się iż przy zapisywaniu w formacie GIF programy dokonują automatycznej konwersji, która nie zawsze daje najkorzystniejsze efekty. Większość programów pozwala na określenie trybu wyświetlania obrazu na ekranie (z przeplotem lub bez), oraz na zdefiniowanie kolorów “przezroczystych”.

Aby wykorzystać możliwości cyklicznego wyświetlania różnych obrazków, czyli animacji, z reguły należy użyć dodatkowego programu, który pozwala na “wciągnięcie” wcześniej przygotowanych plików GIF z pojedynczymi obrazkami i zmontowanie ich w spójną całość. Jednym z takich programów jest GIF Construction Set, sharewarowy programik, który ma bardzo duże możliwości.

Na koniec można dodać, że GIF jest formatem niestratnym (dla modelu IndexedColor), to znaczy iż praca zachowana jako GIF, po otworzeniu, będzie wyglądała tak samo jak przed zachowaniem.

Drugim równie często używanym formatem jest JPEG. Format ten został stworzony przez Join Photographic Experts Group (w wolnym tłumaczeniu Wspólna Grupa Rzeczoznawców Fotografii), a jego głównym zastosowaniem jest archiwizacja zdigitalizowanych zdjęć.

Jego podstawową zaletą jest duży stopień kompresji (nawet 1:50 i więcej). Jednak trzeba podkreślić iż kompresja ta jest stratna, oznacza to, że po otworzeniu pliku JPEG otrzymamy obraz o jakości gorszej od oryginału (czyli obrazka zapisanego wcześniej). Pogorszenie jakości jest wprost proporcjonalne do stopnia kompresji, czym bardziej skompresujemy grafikę, tym większe będzie pogorszenie jej jakości. Jednak w przeciwieństwie do formatu GIF, JPEG pozwala na zapisanie pełnej gamy kolorów RGB (w rzeczywistości gama ta jest nieco zubożana, jednak dla zwykłego użytkownika efekt ten jest niezauważalny), co jest bardzo przydatne przy prezentowaniu zdjęć na stronach internetowych (często zdjęcia zapisane w trybie IndexedColor tracą cały urok, natomiast zapisane w JPEG wyglądają tak jak należy). Wadą tego formatu jest to, że nie można w nim zachować animacji, ani też zdefiniować kolorów “przezroczystych”.

Warto tutaj dodać, iż zapisywanie obrazów IndexedColor w formacie JPEG nie ma większego sensu, gdyż i tak są konwertowane do innego modelu, który zawiera wiele barw. Należy więc przyjąć iż w formacie JPEG zachowujemy obrazy RGB i Grayscale.

Na stronach WWW można również stosować inne formaty graficzne, chociażby pliki AVI i MPEG zawierające sekwencje filmu i dźwięku. Zamiast JPEG można użyć kompresji fraktalnej. Ostatnio powstał format PNG, który umożliwia zdefiniowanie stopnia przezroczystości poszczególnych fragmentów grafiki, co daje efekty znacznie ciekawsze niż przezroczyste kolory w GIFie. Jednak wiele przeglądarek nie obsługuje standardowo niektórych z tych formatów, co sprawia, że nie możemy mieć pewności iż oglądający naszą stronę widzi te elementy.