Rozdział 7. Przedstawienie formatu graficznego BMP. Plik graficzny o rozszerzeniu BMP jest jednym z najbardziej znanych formatów graficznych. Nazwa jego pochodzi od nazwy bitmap, opracowany został przez Microsoft i jest podstawowym standardem w systemach Windows i OS/2. Zgodnie z nazwą informacje graficzne umieszczane są w pliku punkt po punkcie jako tzw. mapa bitowa. Z tego powodu BMP nadaje się szczególnie dobrze do zapisywania oryginalnych obrazów ze wszystkimi szczegółami bez kompresji i kodowania. Wadą natomiast tego formatu graficznego jest duży rozmiar zapisywanego pliku wynikowego, co sprawia, że standard ten nie nadaje się do zastosowań internetowych. Tabela5. Najprostsza budowa pliku bmp OFS Ilość Typ Opis 00h 2 char Identyfikator ("BM") 02h 1 dword Wielkość pliku 0Ah 1 dword Offset bitmapy w pliku(0f1) 0Eh 1 dword Długość nagłówka 12h 1 dword Szerokość bitmapy 16h 1 dword Wysokość bitmapy 1Ah 1 dword Ilość planów 1Ch 1 word Bity na piksel 1Eh 1 word Rodzaj kompresji lub (0-brak kompresji) 22h 1 dword Wielkość bitmapy 26h 1 dword Rozdzielczość pozioma 2Ah 1 dword Rozdzielczość pionowa 2Dh 1 dword Ilość używanych kolorów 32h 1 dword Ilość znaczących kolorów 36h? record Opis wszystkich kolorów 1111 Blue Green Red Dopełnienie do 4 OF1 Dane o bitmapie
7.1. Technika RGB w formacie graficznym bitmapy. Metod tworzenia grafiki komputerowej jest bardzo wiele od grafik rastrowych, wektorowych po grafiki komputerowe i prezentacyjne. Postaram się przybliżyć metodę kodowania grafiki rastrowej plików BMP za pomocą kodowania RGB (Od ang. Red - czerwony, Green - zielony, Blue - niebieski). Jest to metoda traktująca obraz jako zbiór bardzo małych niezależnych od siebie punktów tej samej wielkości (pikseli) ułożonych równo w wierszach i kolumnach. Pliki rastrowe nazywa się również plikami bitmapowymi. Typowe formaty plików rastrowych to BMP, TIFF, GIF i JPEG. Kodowanie RGB rozumiane zatem może być jako system reprezentowania barw wyświetlanych na ekranie monitora. Te trzy podstawowe kolory łączone w różnych proporcjach dać mogą w wyniku dowolną barwę widzialnego spektrum. Poziom nasycenia każdego z trzech kolorów R, G i B reprezentowany jest przez liczbę od 0 do 255 (czyli jeden bajt). Możliwych do wygenerowania kolorów RGB jest zatem 256.256.256 czyli 16 777 216. Możliwy zatem do osiągnięcia będzie 8-bitowy kolor, 16-bitowy kolor, 24-bitowy kolor w palecie kolorów dostępnych dla kodowania RGB plików bitmapowych. W przypadku obrazków 4 i 8-bitowych można ponadto skorzystać z kompresji RLE (Run-Length-Encoding) która jest kompresją bezstratną. Kompresja RLE oznacza w prostym tłumaczeniu kodowanie bieżących długości pikseli. Pozwala ona zmniejszyć rozmiar zapisywanego pliku poprzez algorytmy kompresji tych samych powtarzających się danych. Model kodowania RGB ma jednak wady. Poza przypadkiem bieli, kolory pomiędzy niebieskim a zielonym lub pomiędzy zielonym a czerwonym są tylko przybliżeniami dla postaci wynikowych tych barw. Schemat RGB jest jednym z najprostszych modeli kodowania barw i jest on zupełnie dobry dla postrzegania kolorów okiem ludzkim. 50
7.2. Środowisko testowe oraz sprzęt użyty do badania i testowania wydruków. Do wykonania testowych wydruków użyłem różnych typów drukarek firmy Hawlett Packard. Pierwszą z nich jest drukarka HP DeskJet 870 Cxi Professional Series dla której minimalnymi wymaganiami pracy jest system Dos wersja. 3.3, procesor 80286 oraz 2 MB pamięci Ram dla drukowania w czerni i 4 MB Ram dla drukowania w kolorze. W środowisku Windows 3.1 oraz Windows 95 przeznaczonego dla procesorów 80386 i wyższych, drukarka ponadto potrzebuje 10-20 MB wolnej przestrzeni dyskowej. W innych systemach Windows 98/NT//ME/2000/XP drukarka wykrywana jest automatycznie. Nowością dla tego modelu jak na pierwszą połowę lat dziewięćdziesiątych było normatywne obciążenie drukarki atramentowej sięgające aż 1000 stron miesięcznie. Rys 15. Drukarka DeskJet 870 Cxi Rodzaje wbudowanej pamięci: Pamięć ROM (2MB) Pamięć RAM (0,5MB) Bufor drukarki (32 ks) Drukarka zważywszy na swoje oprogramowanie posiada trzy tryby drukowania, co przekłada się na różne prędkości drukowania (Tabela 6). Tabela 6. Tryby drukowania drukarki HP DeskJet 870 Cxi. Tryb drukowania Szybkość druku tekstu Szybkość druku 51
w czerni /min koloru /min Najlepszy (Best) 4 str/min 1 str/min Normalny (Normal) 7 str/min 2 str/min Ekonomiczny (Econofast) 8 str/min 4 str/min Druga drukarka to DeskJet 5150 (Rys.16) dla której minimalne wymagania sprzętowe są następujące: Windows 98/Me, procesor Pentium 150 MHZ, 32 MB RAM, ponadto wymagane jest 40 MB wolnego miejsca na dysku twardym oraz 175 MB na oprogramowanie Hp Photo & Imaging Microsoft. W nowszych systemach Windows 2000/XP zalecany jest procesor Pentium II 233 MHZ oraz 128 MB RAM. Drukarka posiada wbudowaną pamięć RAM wielkości 8 MB. Normatywny cykl obciążenia tej drukarki wynosi do 3000 stron miesięcznie. Urządzenie posiada interfejs USB zgodny ze specyfikacją USB 2.0 oraz opcjonalnie możliwość druku dwustronnego (tzw. duplex). Drukarka pracuje w Technologii PhotoREt III z możliwością zastosowania PhotoRet IV z odpowiednimi tuszami fotograficznymi. Rys. 16 Drukarka HP DeskJet 5150 Urządzenie charakteryzuje się różnymi trybami pracy zależnymi od rodzaju, stopnia złożoności drukowanego dokumentu(tabela 7). Tabela 7. Tryby drukowania drukarki HP DeskJet 5150. Rodzaj drukowanego dokumentu Czarny tekst (A4) Tekst łączony z kolorową Tryb szkicu (draft) Tryb szybki normalny (fast normal) Tryb normalny (normal) Tryb najlepszy (best) 19 str/min 9,5 str/min 6,8 str/min 0,9 str/min 14 str/min 6,3 str/min 4,6 str/min 0,9 str/min 52
grafiką (A4) Fotografia kol. 1,5 str/min 0,7 str/min 0,7 str/min 0,5 str/min (10x15cm) Papier foto Porównanie plików ze sobą będzie się odbywało za pomocą napisanego programu w środowisku Borland Delphi 7 pobranego w wersji Trial (ograniczonego czasowo) ze strony producenta www.borland.com. Pisanie programu oraz testowanie odbywało się na komputerze PC Athlon 1,33 Ghz,256 SDRAM, 40 GB HDD, GEFORCE 2 MX 400 64 MB. System jaki był zainstalowany na komputerze to Windows XP Professional wraz z dodatkami Service Pack 1 i 2. Napisana aplikacja na wyżej wymienionym sprzęcie chodziła stabilnie bez jakichkolwiek problemów lub błędów. Jako pierwszy testowano obraz o nazwie oryginał.bmp zapisany w pliku bitmapy w rozdzielczości 1024 x768 w 24 bitowej palecie barw. Plik ten wydrukowano na dwóch kolorowych drukarkach HP 870Cxi oraz HP DeskJet 5150. Wydruki powstały na papierze HP Premium Plus Photo z powłoką pęczniejącą oraz zwykłym papierze International Paper Pol Speed z Kwidzynia o gramaturze 80 g/m² jako drugi obrazek. Przygotowane wydruki zostały następnie ze skanowane skanerem firmy Pustek Optic Pro 9636T do postaci bitmap. Następnie obrazy poddano obróbce programem Irfran View w wersji 3.95 pobranego ze strony producenta http://www.irfanview.com w celu przycięcia i przeskalowania obrazu do rozdzielczości i rozmiaru pliku oryginalnego. Powstałe w ten sposób cztery nowe obrazy zapisano przydzielając im poszczególne nazwy. A następnie badano stworzonym programem analiza obrazu. Wyniki badań są to zrzuty ekranu tzw( print screen) robione za pomocą klawisza ctrl + print scrn w środowisku Windows Xp, zapisane w postaci bitmapy. 53