Formaty plików graficznych można podzielić na formaty zapisujące grafikę rastrową oraz grafikę wektorową. Z kolei formaty przechowujące grafikę rastrową można podzielić na niestosujące kompresji, stosujące kompresję bezstratną oraz stosujące kompresję stratną.
Zanim przystąpimy do zapisu grafiki, powinniśmy się zastanowić, w jakim formacie ją zachować, aby nie zajmowała zbyt wiele pamięci, a jednocześnie zachowała odpowiednio wysoką jakość. Format, na który się zdecydujemy powinien zależeć od tego, co dany obraz przedstawia oraz do jakich celów będzie on wykorzystany. Każdy format ma różne algorytmy zapisu co sprawia, że szczegóły są inaczej interpretowane. Jego odpowiedni wybór oznacza wiele korzyści dla nas jak i użytkowników korzystających z naszych zasobów.
Formaty dla grafiki rastrowej
Jakość obrazu rastrowego jest określana przez całkowitą liczbę pikseli (wielkość obrazu) oraz ilość informacji przechowywanych w każdym pikselu (głębia koloru). Na przykład obrazek zapisujący 24 bity informacji może pokazać łagodniejsze cieniowanie od obrazka zapisującego 16 bitów. Podobnie, obrazek o wymiarach 640 x 480, zawierający ok. 307 tys. pikseli będzie gorszej jakości, wyglądając nierówno i chropowato w porównaniu do obrazka o wymiarach 1280 x 1024 z ponad 1,3 mln pikseli.
Ponieważ obrazy rastrowe zajmują stosunkowo dużo miejsca, często stosuje się technikę kompresji celem zmniejszenia wielkości zajmowanej pamięci. Kompresję bezstratną czyli taką, która gwarantuje możliwość odtworzenia informacji z postaci skompresowanej do identycznej postaci pierwotnej umożliwiają formaty PNG i JPEG. W kompresji bezstratnej wykorzystywany jest algorytm LZW (Lempel-Ziv & Welch), którego zadaniem jest maksymalne zmniejszenie rozmiarów plików zawierających grafikę. Współczynnik kompresji (w stosunku do rozmiarów obrazu zajmującego miejsce w pamięci operacyjnej) wynosi od 20% do 50%, bez powodowania utraty jakichkolwiek informacji.
Metoda kompresji bezstratnej polega na łączeniu w mniejsze grupy wszystkich powierzchni obrazu, których piksele mają tę samą wartość czyli ten sam kolor. Stąd największy współczynnik kompresji uzyskiwany jest w przypadku obrazów o dużych powierzchniach w tym samym kolorze. Niektóre techniki zmieniają lub usuwają pewne informacje, aby uzyskać mniejszy plik. Przy użyciu kompresji stratnej można skompresować plik w jeszcze większym stopniu niż za pomocą kompresji bezstratnej.
Przykładami takich kompresji, które nie dają gwarancji, że odtworzona informacja będzie identyczna z oryginałem są stratne tryby kompresji PNG i JPEG. Schemat tego rodzaju kompresji opiera się na algorytmie łączenia w mniejsze grupy najbardziej zbliżonych do siebie punktów pod względem odcieni kolorów. Strata zostaje uwidoczniona w momencie dekompresji, gdyż nie wszystkie punkty z dużej palety kolorów zostają prawidłowo rozpoznane.
Mimo dużych rozmiarów popularne są też formaty nie używające kompresji, takie jak TIF i RAW. Używane są w fotografii cyfrowej do rejestracji zdjęć, pozwalające na zachowanie najwyższej jakości obrazu oferowanej przez aparat, dając możliwość dokładnej obróbki pliku na komputerze. Punkty obrazu zapisywane są wtedy w stosunku 1:1. Dlatego na dysku pliki te zajmują dokładnie tyle samo miejsca, ile dany obraz zajmuje w pamięci operacyjnej komputera.

PNG
Format PNG (Portable Network Graphics) został opracowany w celu efektywnego i bezstratnego przesyłania obrazów w Internecie i jest obsługiwany przez wszystkie przeglądarki internetowe. Jest to wolny od patentów format kompresji obrazów o płaskich kolorach i dużej liczbie ostrokątnych detali. Nadaje się do zapisywania kompozycji liniowych, ilustracji oraz tekstu. Format PNG, zapewnia efektywną kompresję obszarów jednokolorowych oraz dobrze zachowuje ostre przejścia miedzy kolorami. Właściwością, jakiej format PNG nie posiada, jest możliwość wyświetlania animacji. Opracowano jednak dwie wersje PNG mające służyć jako nośnik dla animowanych grafik. Formaty te, to MNG (Multimedia Network Graphics) oraz APNG (Animated Portable Network Graphics). Niestety żaden z nich nie jest jeszcze popularny wśród użytkowników Internetu.
Kolory w formacie PNG
Format PNG może obsługiwać kolory 8-bitowe co ma na celu maksymalne zmniejszenie jego objętości, dlatego przy ich użyciu można uzyskać 2,4,8,16,32,64,128 lub maksymalnie 256 kolorów. Procedura wyboru kolorów jest nazywana indeksowaniem i dlatego jest określany czasami jako format koloru indeksowanego. W celu dokonania konwersji obrazu na kolor indeksowany tworzona jest tabela, w której są zapisywane i indeksowane kolory obrazu. Jeżeli w tabeli nie ma jednego z kolorów znajdujących się w oryginalnym obrazie, program wybierze kolor najbardziej do niego zbliżony, albo przeprowadzi dithering w celu symulowania tej barwy za pomocą dostępnych kolorów co z dalszej odległości daje wzrokowy efekt koloru wynikowego (zamierzonego).
Jednak format PNG ma też większe możliwości zapisu gamy kolorów. Może obsługiwać przestrzeń barw RGB – 1-bit, 8-bit, 16-bit, 24-bit a nawet 48-bitową głębię kolorów oraz stopniowaną przezroczystość (tzw. kanał alfa). Dzięki temu można zapisać bezstratnie dowolne grafiki RGBA, czyli RGB+Alfa (32-bit i 64-bit)
Kompresja formatu PNG
Jedną z technik zastosowanych w PNG jest aplikowanie prostych filtrów graficznych, które mogą uprościć dane obrazu przed kompresją, zwiększając jej wydajność. Niektóre programy pozwalają wybrać stopień kompresji, ale nie jest to cecha formatu PNG, a jedynie ustawienie specyficzne dla danego programu, który rezygnuje z dobierania najlepszej kombinacji filtrów, aby przyspieszyć zapisywanie. Istnieją programy na wolnych licencjach, które potrafią optymalizować pliki PNG. Sprawdzają one ogromną ilość kombinacji filtrów PNG i parametrów kompresora GZIP. Dają w rezultacie pliki dużo mniejsze niż zapisywane popularnymi programami graficznymi.
W przypadku formatu PNG mamy możliwość wyświetlenia jego zawartości etapami, zamiast linia po linii. Mechanizm ten funkcjonuje w podobny sposób jak plik formatu JPEG zapisany trybem progresywnym. Dzięki właśnie takiemu zapisowi z przeplotem możemy znacznie szybciej zobaczyć zarys ilustracji i zorientować się co ona przedstawia.
Rozszerzenia pliku: png, apng, mng
JPEG
Format JPEG (Joint Photographic Expert Group) został zaprojektowany dla potrzeb zapisywania fotografii oraz ilustracji wielobarwnych. Szczególnie tych, które charakteryzują się subtelnym przechodzeniem kolorów oraz małą ilością ostrych krawędzi i drobnych detali. W pliku JPEG obraz jest zakodowany poprzez usunięcie informacji o kolorach, które nie będą zauważone przez oko ludzkie lub ich brak nie różni się znacznie od oryginału. Jest to jeden z najpopularniejszych formatów grafiki rastrowej i jest obsługiwany przez wszystkie przeglądarki internetowe.
Kolory w JPEG
Format JPEG może obsługiwać kolory 24-bitowe, dzięki czemu zachowuje delikatne różnice w jasności i barwach przedstawionych na obrazach. Pliki te są zapisywane w przestrzeni barw RGB – 1-bit, 8-bit, 16-bit (kolor pełny) lub 24-bit (kolor rzeczywisty). Nie obsługuje jednak kanału alfa, czyli przezroczystości.
Kompresja formatu JPEG
Kompresja formatu JPEG może być kompresją stratną lub bezstratną. Ponieważ ograniczenie wielkości pliku może być uzyskiwane poprzez usunięcie niektórych jego fragmentów, pociąga to za sobą pogorszenie jakości obrazu. Mniejsza wartość procentowa stopnia kompresji czyli większa kompresja daje nam w rezultacie mniejszy rozmiar pliku, ale także gorszą jakość obrazu. Aby wypośrodkować między jakością obrazu i wielkością jego pliku, warto obejrzeć obraz przy różnych ustawieniach jakości. Skala kompresji ma zakres od 1-100. Plik w formacie JPEG przy nieznacznej stracie jakości, może osiągnąć stopień kompresji nawet 50:1. Jeżeli jednak zastosujemy wartość niższą niż 55, straty jakości grafiki będą wyraźnie widoczne. Zasadniczo przy dużych zdjęciach należy stosować 50%, zaś do małych ilustracji 75%.
Technicznie rzecz biorąc, kompresja pliku JPEG polega na podzieleniu ilustracji na określone strefy barw układanych w kwadratowe kształty. Oddzielane są również informacje o jaskrawości i odcieniach kolorów. W pliku zapisywane są raczej informacje o różnicach pomiędzy grupami pikseli, niż o samych pikselach. Taki sposób dzielenia jest wyraźnie widoczny w przypadku źle skompresowanej ilustracji. Pojawia się wtedy charakterystyczna otoczka wokół fragmentów ilustracji, szczególnie w przypadku, gdy mamy do czynienia z intensywnym cieniowaniem. Dodatkowo, gdy odczytamy plik JPEG i wprowadzimy w nim zmiany oraz ponownie zapiszemy, spowoduje to kumulację zniekształceń.
W przypadku formatu JPEG mamy możliwość wyświetlenia jego zawartości etapami, zamiast linia po linii. Mechanizm ten funkcjonuje w podobny sposób jak plik formatu PNG zapisany z przeplotem. Dzięki temu możemy znacznie szybciej zobaczyć zarys ilustracji oraz zorientować się co ona przedstawia. Tryb ten zyskał rozpowszechnienie wraz z rozwojem Internetu, ale należy jednak pamiętać, że pliki zapisane jako progresywne ładują się wolniej.
Rozszerzenia pliku: jpg, jpeg, jpe, jif, jfif, jfi
Porównanie formatów dla grafiki rastrowej
Na wybór właściwego formatu dla grafiki rastrowej, ma wpływ wiele czynników. Jeśli ma to być animacja, dobrym wyborem będzie MNG i APNG, ponieważ JPEG i PNG nie obsługują animacji. Natomiast obrazek o niewielkiej liczbie kolorów i ostrych krawędziach najlepiej zapisać w PNG. Gdyż bezstratna kompresja znacznie zmniejszy rozmiar pliku, nie powodując efektów ubocznych, jak w przypadku zastosowania kompresji stratnej. PNG jest również najlepszym wyborem, jeśli konieczne jest zastosowanie efektu przezroczystości. Wielokolorowe grafiki należy zapisywać w formatach JPEG lub PNG. Jednak najlepszym wyborem w tym przypadku będzie lekko skompresowany JPEG. Ponieważ strata w jakości będzie ledwo widoczna, a rozmiar pliku dużo mniejszy niż w przypadku PNG.
Formaty dla grafiki wektorowej
W plikach grafiki wektorowej nie jest przechowywany obraz lecz instrukcje i wzory opisujące każdy zawarty w niej element. Jego jakość zależy tylko od złożoności poszczególnych obiektów z których jest on zbudowany. Jeśli obraz zawiera dużo elementów i szczegółów jego załadowanie będzie trwało dłużej niż w przypadku grafiki rastrowej, ponieważ każdy element jest obliczany, a następnie wyświetlany.
Odczytanie i edycja takiego pliku nie jest możliwa bez specjalnego oprogramowania. Wiele z nich ma wewnętrzne formaty zapisu i brak jest powszechnie używanego standardu wymiany między aplikacjami. Jak to ma miejsce w przypadku grafik rastrowych. Wynika to poniekąd z faktu, że grafika wektorowa jest skomplikowana. Trudna do opisania i nie ma sposobu jej zapisu, który można by było uznać za najlepszy. Z kolei firmy zajmujące się produkcją oprogramowania wolą mieć swój własny format zapisu, co wymusza na klientach korzystanie z ich produktów. Obecnie najbardziej znanymi i uniwersalnymi formatami są PDF oraz SVG. Gdzie ich zapis lub odczyt jest możliwy w każdym programie wykorzystującym grafikę wektorową.
SVG
Format SVG (Scalable Vector Graphics) jest aplikacją języka XML służącą do opisu dwuwymiarowej, statycznej i animowanej grafiki wektorowej. „W SVG oprócz standardowych obiektów (np. prostokąty, elipsy, krzywe) można opisywać efekty specjalne w postaci filtrów (maski przezroczystości, wypełnienia gradientem itp.). W SVG można też opisać sposób animacji elementów za pomocą standardowych dla SMIL elementów i właściwości.
SVG pozwala na użycie języków skryptowych np. JavaScript, szablonów stylów CSS, a także na rozszerzanie funkcjonalności przez dodanie własnych elementów i właściwości przy pomocy standardowych technik XML. Również format ten może być użyty w drugą stronę, wewnątrz innego dokumentu np. HTML.
Wyższość SVG polega na tym, że eksportowany obraz zapisywany jest w formacie tekstowym. Tzn. po otworzeniu takiego pliku w zwykłym programie tekstowym, możemy zobaczyć jakie są wartości poszczególnych elementów (np. wielkość, kolor, kształt). Te parametry możemy także zmieniać co oznacza, że do prostej edycji nie jest potrzebny specjalny program.
SVG jest otwartym standardem promowanym przez World Wide Web Consortium (W3C). Dzięki czemu dostęp do niego nie jest kontrolowany i może być swobodnie wykorzystywany w różnych aplikacjach. Dzięki temu obecnie, wraz z pojawieniem się HTML 5 obsługa wektorowych grafik i animacji SVG na stałe pojawiła się w przeglądarkach internetowych.
Kompresja formatu SVG
W celu zmniejszenia wielkości pliku dokumenty SVG posiadają też możliwość skompresowania danych w formacie GZIP zmieniając rozszerzenie na SVGZ. Kod źródłowy pliku zawiera dużo powtarzających się fragmentów tekstu więc doskonale nadaję się do bezstratnych algorytmów kompresji. Potrafi zmniejszyć pamięć od 10-50% pierwotnej wielkości. Nie jest jednak wtedy możliwa edycja za pomocą edytora tekstowego, gdyż kod źródłowy nie jest możliwy do odczytania.
Rozszerzenia pliku: svg, svgz
Format PDF (Portable Document Format) służy do prezentacji, przenoszenia i drukowania treści tekstowo-graficznych. Język opisu pliku PDF jest okrojoną wersją języka programowania PostScript wzbogaconą o elementy hipertekstowe. Pliki tego formatu wyglądają tak samo jak oryginalne dokumenty i zachowują informacje z plików źródłowych (np. tekst, rysunki i zdjęcia, elementy multimedialne), niezależnie od programu, za pomocą którego utworzono plik.
Format PDF jest formalnie standardem otwartym. Stworzonym oraz promowanym przez firmę Adobe Systems, dzięki czemu jest obsługiwany przez wszystkie przeglądarki internetowe.
Kompresja formatu PDF
Istnieją dwa typy kompresji dla plików PDF. Kompresja bezstratna i stratna, która polega głównie na zmniejszeniu jakości obrazów rastrowych oraz elementów multimedialnych. Na rynku oprogramowania istnieje duża liczba aplikacji, które umożliwiają kompresję dokumentów zapisanych w tym formacie. Większość z nich to komercyjne produkty, jednak są też darmowe metody, które w zupełności wystarczają do standardowych zastosowań.
Zabezpieczenia pliku PDF
Ważną funkcją tego formatu jest możliwość zabezpieczenia utworzonych plików. Ochrona zawartości obejmuje użycie funkcji do ochrony integralności zawartości pliku PDF. Funkcje te chronią przed niechcianymi zmianami plików, utrzymują poufność informacji prywatnych oraz uniemożliwiają drukowanie. Format ten oferuje kilka rodzajów zabezpieczeń takich jak użycie hasła, certyfikatu lub systemu opartego na serwerze z dynamiczną kontrolą nad plikami.
Rozszerzenia pliku: pdf

Porównanie formatów dla grafiki wektorowej
Wybór odpowiedniego formatu opisu grafiki wektorowej do publikacji w Internecie powinien zależeć głównie od zawartości i formy w jakiej ma być wyświetlany przez przeglądarki internetowe. Jeśli obraz ma być elementem strony to najlepszym wyborem będzie format SVG. Bardzo dobrze integruje się z językami do pisania stron WWW. Ponadto dzięki dokumentowi SVG możemy zapisać precyzyjnie sformatowany tekst. Stworzyć interaktywną animację sterowaną z poziomu kodu w jednym z języków skryptowych. Gdy chcemy natomiast umieścić dokument lub połączyć kilka formatów w jednym pliku, to właściwym wyborem będzie format PDF. Ważną i przydatną funkcją jest też możliwość jego zabezpieczenia, gdy chcemy ograniczyć dostęp do niektórych opcji pliku.