Coś o grafice komputerowej

Więcej można przeczytać m.in. w polskiej i angielskiej Wikipedii.

Grafika rastrowa

W grafice rastrowej obraz jest podzielony na wiele małych prostokątów, tzw. pikseli, a dla każdego z nich zdefiniowany jest jego kolor. Ten sposób reprezentacji obrazu odpowiada sposobowi jego wyświetlania na ekranie i w tym sensie jest dla komputerów czymś "naturalnym".

Skalowanie, a zwłaszcza powiększanie obrazu, wiąże się z pogorszeniem jakości (obraz staje się rozmyty lub z widocznymi powiększonymi pikselami).

Edycja obrazu rastrowego przypomina rysowanie/malowanie na kartce papieru - istniejący już obraz można po prostu zamazać.

Zadanie 1. Edycja fotografii

  1. Pobierz i zapisz to zdjęcie.
  2. Otwórz zdjęcie w programie GIMP.
  3. Obracanie i Kadrowanie – w miarę potrzeb wyrównaj poziom i usuń niepotrzebne obszary zdjęcia.
  4. Dostosowywanie jasności i kontrastu – narzędzia poziomy, ewentualnie krzywe.
  5. Dostosowywanie kolorystyki – balans kolorów, nasycenie...
  6. Umieść na zdjęciu napis.
  7. Skalowanie do wielkości:

    • odpowiedniej do oglądania na całym ekranie,
    • odpowiedniej do umieszczenia jako ilustracji na stronie WWW lub w dokumencie/prezentacji.
  8. Zapis w formacie JPEG (obserwuj w podglądzie jakość obrazu i rozmiar pliku):

    • w jakości 99, 90, 50 i 10.
    • wersja progresywna.
  9. Efekty artystyczne do zabawy.

Zadanie 2. Zrzut ekranu

  1. Za pomocą klawisza PrintScreen zrzuć obraz ekranu do schowka, a następnie wklej go jako nowy obraz w programie Gimp.
  2. Powtórz to samo dla klawiszy Alt+PrintScreen.
  3. Kadrowaniem wybierz istotny fragment ekranu (np. wybrane okno).
  4. Zapisz w formatach JPEG i PNG.

Warstwy i przezroczystość

Podstawowa wersja grafiki rastrowej może zostać wzbogacona o warstwy, czyli obrazy które można nakładać jeden na drugi i przesuwać względem siebie. Może to zostać wykorzystane np. do umieszczenia logo lub napisu "nad" istniejącym obrazem (np. zdjęciem) i przesunięcia go w odpowiednie miejsce.

Przezroczystość pozwala robić w warstwie "dziury", przez które prześwituje warstwa niższa. Dziura to skrajny przypadek (100% przezroczystości), przezroczystość pozwala na przenikanie się warstw w różnych proporcjach.

Gdy częściowo przezroczysty obrazek zostanie umieszczony na stronie WWW lub w dokumencie, prześwitywać będzie tło lub obraz znajdujący się pod nim (nie zawsze jest to poprawnie obsługiwane przez programy, ale coraz lepiej w nowszych wersjach).

Zadanie 3. Rysunki odręczne

Zadanie z "zerówki".

Stwórz prosty rysunek, stanowiący logo klubu taterniczego „Zawsze w górę!”. Rysunek ma zawierać (co najmniej, może więcej, ale nie jest to wymagane) nazwę klubu (tekst), rysunek pasma górskiego zbudowanego z trójkątnych, srebrnych gór.

Można spróbować zapisu z przezroczystym tłem w PNG oraz zapisu w JPG.

Grafika wektorowa

W grafice wektorowej obraz składa się z figur geometrycznych takich jak punkty, odcinki, wielokąty, okręgi, łuki, elipsy, a nawet litery (bądź inne znaki) pochodzące z określonych czcionek lub zagnieżdżone fragmenty tekstu.

Każda figura jest zdefiniowana przez jej parametry geometryczne (np. dla okręgu współrzędne środka i promień) i związane z grafiką (kolor i grubość krawędzi, kolor wypełnienia). Dla figur można ustalić kolejność w jakiej przykrywają się nawzajem.

Taka reprezentacja posiada wiele zalet, gdy mamy do czynienia z obrazem składającym się z figur i napisów, jak na przykład diagramy:

Każdy program do grafiki wektorowej określa swój własny zestaw figur, których można używać, poza podstawowymi figurami mamy zazwyczaj różne symbole do umieszczania na diagramach. Z tego powodu trudniej jest przenosić obrazy wektorowe między różnymi aplikacjami, a aby zaprezentować je na stronie WWW bądź wkleić do dokumentu zazwyczaj konwertuje się je do grafiki rastrowej. Najbardziej uniwersalnym formatem do zapisywania grafiki wektorowej jest SVG.

Zadanie 4.

W programie Inkscape lub, gdyby nie był dostępny, Dia stwórz nowy obrazek.

  1. Dodawanie, usuwanie i przesuwanie obiektów (na przykładzie elips i prostokątów).
  2. Zmiana rozmiaru i obracanie obiektów.
  3. Zmiana kolejności (zakrywanie) obiektów.
  4. Przezroczystość i gradient.
  5. Odręczne rysowanie krzywych. Można zwrócić uwagę na różnicę w wielkości pliku gdy są tylko regularne figury i gdy pojawiają się odręczne zawijasy.
  6. Dodawanie napisów.
  7. Eksport do grafiki rastrowej (formatu png).
  8. Skalowanie grafiki wektorowej (w Inkscape przy eksporcie podać większy rozmiar) i porównanie ze skalowaniem grafiki rastrowej np. w Gimp.

Sposoby zapisywania kolorów

Skala szarości

Gdy mamy do czynienia z obrazem bezbarwnym (biało-(szaro)-czarnym) istotna jest tylko jasność. Można ją wyrazić za pomocą liczby całkowitej z podanego przedziału, np. [0, 255] - wówczas do reprezentacji jednego piksela wystarczy jeden bajt.

RGB

Ludzkie oko odbiera trzy barwy podstawowe: czerwoną, zieloną i niebieską, a wszystkie rejestrowane kolory można uzyskać przez zmieszanie tych trzech barw. Na tym opiera się budowa monitorów (a także np. matryc aparatów i kamer cyfrowych).

Dlatego w najczęściej stosowanej skali kolorów RGB do opisania koloru używa się trzech liczb z przedziału [0,255]. Przykładowo (255,0,0) oznacza czysty kolor czerwony, (100,0,0) też ale ciemniejszy, (0,0,0) oznacza kolor czarny a (255,255,255) biały.

Przy takim sposobie reprezentacji kolorów jeden piksel zajmuje trzy bajty. Można użyć do 2563, czyli ponad 65 mln kolorów.

Kanał alfa

Dla obrazów z przezroczystością do trzech liczb dodaje się czwartą oznaczającą poziom przezroczystości. Jest to tzw. kanał alfa.

RGB - inna liczba bitów

Profesjonalne zastosowania wymagają czasem większej liczby kolorów niż oferuje typowa skala RGB. Jest to ważne szczególnie gdy obraz przeznaczony jest do dalszej obróbki kolorystycznej (np. rozjaśnianie, balans kolorów) oraz w profesjonalnym druku.

W takich sytuacjach zamiast 8 bitów na pojedynczą składową koloru można przeznaczyć więcej. Niektóre aplikacje (niestety póki co nie GIMP) pozwalają na pracę w trybie 16 bitów na kanał. Wiele skanerów i aparatów cyfrowych działa z czułością 12 bitów na kanał.

Z drugiej strony, gdy zależy na redukcji rozmiaru pliku można stosować mniej bitów na kanał, np. 3, 3 i 2, aby jeden piksel zajmował jeden bajt. Obecnie jest to rzadko stosowane.

CMYK

Sposób reprezentacji kolorów CMYK jest naturalny dla wydruków, gdzie składowymi nie są barwy podstawowe, ale ich uzupełnienia, (gdyż wydruk nie świeci jak monitor, ale pochłania światło). Stąd składowe Cyan ("morski"), Magenta (purpura-fiolet), Yellow (żółty). Dodatkowo wprowadzono składową czarną.

Paleta indeksowana

Paleta indeksowana polega na tym, że wybiera się ograniczoną liczbę kolorów i tylko ich używa się w obrazie. Piksel obrazu jest wówczas reprezentowany przez "numer" koloru w tabeli.

Najczęściej używa się palet o wielkości 16, 64 lub 256 kolorów, a piksel zajmuje wówczas odpowiednio 4, 6 lub 8 bitów. Zestaw kolorów można ustalić z góry (tak jest na przykład z kolorami dostępnymi w trybie tekstowym komputera, np. w konsoli Linuxowej lub, jeśli ktoś pamięta, systemie MS DOS). Można też własną tabelę definiującą kolory umieścić w pliku – pozwalają na to formaty PNG i GIF i programy do rysowania.

Palety indeksowane sprawdzają się szczególnie przy rysunkach i schematach, gdzie występuje ograniczona liczba kolorów. Nie powinno się ich natomiast używać do zapisywania fotografii i obrazów tego typu.

Popularne formaty plików graficznych

BMP

Mapa bitowa to najbardziej naturalny sposób zapisywania grafiki rastrowej. Zapisywane są po prostu kolejne piksele, na każdy przeznacza się 3 bajty (a 1 bajt dla obrazu bezbarwnego).

Pliki zapisane w tym formacie zajmują dużo miejsca, tzn. lepiej używać innych formatów, zwłaszcza jeśli plik ma być przesyłany przez sieć.

PNG

To najlepszy sposób na zapisywanie obrazu bez straty jakości. Można zapisywać zarówno w pełnej skali RGB, jak i stosując paletę indeksowaną (wówczas plik zajmuje mniej miejsca).

Format pozwala na kompresję bezstratną – wnętrze pliku jest kompresowane algorytmem ZIP lub podobnym. Kompresja jest szczególnie wydajna, gdy obraz zawiera ograniczoną liczbę kolorów i występują duże obszary o jednakowym kolorze, a więc w odręcznych rysunkach i schematach.

GIF

Zastosowania GIF są podobne do zastosowań PNG – zapis obrazu bez straty jakości, szczególnie obrazu o ograniczonej liczbie kolorów i jednolitych obszarach.

Format GIF istniał wcześniej niż PNG, ale ze względu na swoje ograniczenia licencyjne i patentowe został zastąpiony nowym PNG (w pełni darmowym i bardziej uniwersalnym).

W formacie GIF można zapisywać także animacje – sekwencje zmieniających się obrazków. Dlatego GIF jest zwykle stosowany do tworzenia animowanych ikonek i innych zdobników stron WWW.

JPEG

Format JPEG (rozszerzenie .jpg) nadaje się do zapisywania obrazów o dużej liczbie różnych kolorów, na przykład fotografii. Obraz zapisywany w JPEG poddawany jest kompresji stratnej, oznacza to, że pewne szczegóły obrazu są zapominane, ale dzięki temu plik zajmuje mniej miejsca.

Siłę kompresji można regulować w zależności od tego czy bardziej zależy nam na jakości obrazu czy na małej wielkości pliku.

JPEG 2000

Format JPEG 2000 (rozszerzenie .jp2) jest unowocześnioną wersją JPEG. Podobno przy tej samej kompresji nie niszczy obrazu tak bardzo, natomiast zapis i otwarcie pliku trwa trochę dłużej. Format obecnie nie jest jeszcze bardzo popularny.

TIFF

Format TIFF (rozszerzenie .tif lub .tiff) jest bardzo uniwersalny, ale najczęściej jest stosowany do zapisywania obrazu bez straty jakości, z możliwością kompresji bezstratnej. Tego formatu powinniśmy używać gdy zapisujemy zdjęcie, skan itp. a w przyszłości chcemy jeszcze je obrabiać. Jest to też zwykle domyślny format dla skanerów.

Format pozwala na zapisywanie obrazów w różnych sposobach kodowania kolorów, z warstwami i przezroczystością.

RAW

Niektóre aparaty cyfrowe pozwalają na zapisywanie zdjęć w formacie "surowym". Jest to po prostu mapa bitowa, z tym że zwykle z większą głębią kolorów (12 lub 16 bitów na kanał) i kompresją bezstratną.

SVG

To jeden z nielicznych uniwersalnych formatów do zapisywania grafiki wektorowej. Plik zawiera tekstowy (a dokładnie w formacie XML) opis obiektów zawartych w obrazku.

Którą grafikę stosować

Diagramy, schematy, wykresy

Grafika wektorowa powinna być stosowana gdy przygotowujemy schematy, diagramy, wykresy i tym podobne obrazy, składające się z różnego rodzaju figur geometrycznych i ewentualnie napisów.

Gdy istnieje taka potrzeba, grafikę wektorową można łatwo skonwertować do grafiki rastrowej (na przykład aby umieścić jako obrazek na stronie WWW). Najlepiej wybrać wtedy format pliku PNG, ewentualnie GIF.

Jednak zawsze warto zachować oryginalny plik z wektorową definicją diagramu, na wypadek gdybyśmy chcieli coś w nim zmienić lub zapisać obraz w innym formacie lub rozmiarze.

Odręczne rysunki

W zależności od charakteru rysunku lepsza może okazać się grafika wektorowa, gdy mamy do czynienia z regularnymi kształtami i jednorodnymi kolorami, lub grafika rastrowa, gdy kształty są nieregularne, występują rozmycia.

Gdy wybierzemy grafikę wektorową należy postępować jak opisano powyżej: w razie potrzeby konwertować do grafiki rastrowej, ale zachowywać oryginał.

Fotografia

Dla fotografii i skanów (np. skan odręcznego rysunku) naturalnym formatem jest grafika rastrowa. Do umieszczenia takiego obrazu na stronie WWW lub w dokumencie najlepiej użyć formatu JPEG. Do zapisywania z myślą o dalszej obróbce warto użyć formatu TIFF, a do archiwizacji na odległą przyszłość formatu JPEG 2000 lub JPEG z niewielką kompresją (a wysoką jakością).

Aplikacje

Wybór dosyć subiektywny, mogłem przeoczyć jakieś ciekawe aplikacje. Dłuższa lista tutaj.

GIMP

GIMP jest bardzo dobrym a darmowym (i otwartym) programem do grafiki rastrowej. Pozwala na obróbkę obrazów takich jak fotografie oraz na odręczne rysowanie.

GIMP jest dostępny dla wielu systemów operacyjnych, m.in. Windows, Linux, Mac OS. Funkcjonalność programu można rozszerzać instalując liczne wtyczki i rozszerzenia.

Inkscape

Inkscape jest z kolei darmowym i otwartym programem do grafiki wektorowej. Także jest dostępny dla wielu systemów operacyjnych, m.in. Windows, Linux, Mac OS.

Dia

Dia to kolejny darmowy program do grafiki wektorowej, tradycyjnie związany z Linuxem, ale dostępny także w innych systemach operacyjnych.

Adobe Photoshop

Adobe Photoshop to program do grafiki rastrowej najczęściej stosowany przez profesjonalistów. Jego możliwości są ogromne, ale cena wysoka.

Program jest dostepny pod Windows i Mac OS.

Corel Paint Shop Pro

Corel Paint Shop Pro jest znacznie tańszą alternatywą, a zawiera również wiele funkcjonalności oczekiwanych przez nawet wymagających użytkowników.

Program jest dostępny tylko pod Windows.

Corel Draw

Corel Draw to z kolei jeden z najbardziej uznanych komercyjnych programów do grafiki wektorowej.

Program jest dostępny tylko pod Windows.


Valid XHTML 1.1Valid CSS