home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
07
/
ami14
< prev
next >
Wrap
Text File
|
1997-04-15
|
13KB
|
285 lines
ImageFX w praktyce (cz. 7.)
---------------------------
WIEÛA BABEL, CZYLI RZECZ O FORMATACH
<lead>Od poczâtku swego istnienia Amiga byîa pod czymô w rodzaju
klosza, chroniâcego uûytkowników oprogramowania graficznego przed
jednâ z najwiëkszych plag, które dotykajâ posiadaczy innych
komputerów. Juû na wstëpie twórcy systemu naszego komputera oraz
specjaliôci z firmy Electronics Arts zaîoûyli, ûe formatem
sîuûâcym do przechowywania danych graficznych bëdzie mutacja IFF.
Najpierw byîy to pliki IFF w wersji ACBM, wkrótce jednak doîâczyî
do nich, a nastëpnie niemal caîkowicie je wyparî, stosowany
dzisiaj format IFF ILBM.
<a>Tadeusz Talar
<txt>Uîatwiaîo to wymianë danych pomiëdzy poszczególnymi
aplikacjami do tego stopnia, ûe niektórzy posiadacze
"przyjacióîek" nawet nie znali nazwy formatu pliku, w jakim
zapisali swój obrazek. Waûne, ûe po narysowaniu ciekawego obrazka
DPaintem moûna go byîo wczytaê do Scali, umieôciê jako ilustracjë
w PageStreamie czy ProPage i wszystko dziaîaîo bez zarzutu,
wystarczyîo wskazaê wîaôciwâ nazwë. Pewnego wyîomu chcieli
dokonaê, co prawda, panowie z firm Impulse oraz Octree, których
to sîynne produkty, tzn. Turbo Silver/Imagine i Caligari,
zapisywaîy wygenerowane klatki w plikach wîasnego formatu (IMG8 i
Rendition), ale byî to klasyczny wyjâtek od reguîy. W ten
sposób to, co nie udaîo sië na innych "platformach sprzëtowych",
gdzie liczba formatów przyprawia o zawrót gîowy i zwiëksza sië z
miesiâca na miesiâc, a wîaôciwie z momentem pojawienia sië nowej
aplikacji lub karty graficznej, udawaîo sië bardzo dîugo w naszym
"amigowym ôwiecie".
Ostatnie lata udowodniîy jednak, ûe kaûdy kij ma dwa koïce.
Osoby, którym udaîo sië "ôciâgnâê" z BBS-ów (lub przy uûyciu
programów, takich jak CrossDos, MultiDos itp., uîatwiajâcych
wymianë danych pomiëdzy poszczególnymi typami komputerów) pliki z
obrazkami, tworzonymi przy uûyciu pecetowych czy macowych
aplikacji, nie byîy zadowolone z faktu, ûe na Amidze za bardzo
sië ich wykorzystaê nie da. Próby ich wczytania do popularnych
programów graficznych najczëôciej koïczyîy sië niepowodzeniem. Z
drugiej zaô strony pliki IFF ILBM nie dawaîy sië odczytaê za
pomocâ aplikacji, dziaîajâcych na Macintoshach i pecetach
(wyjâtek stanowiîy tu "niebieska" wersja DPainta II i "nie
koronowany król" oprogramowania graficznego -- Adobe Photoshop).
Wspomniany juû "klosz" staî sië wiëc "klatkâ", w której kaûdy,
kto myôlaî troszkë powaûniej o Desktop Publishing czy DeskTop
Video, czuî sië bardzo nieswojo.
Dziô, jak wiecie, problem z wymianâ danych graficznych pomiëdzy
Amigâ a innymi komputerami zostaî rozwiâzany. Programy public
domain, odczytujâce i zapisujâce plik w dowolnym formacie,
"wbudowana" w nowe systemy Amigi koncepcja datatype'ów (dziëki
której îatwo zmusiê nasz komputer do korzystania z danych,
zapisanych w okreôlonym formacie) oraz coraz czëstsze wypadki
stosowania w graficznych programach komercyjnych, oprócz formatu
IFF ILBM, takûe innych (patrz Personal Paint czy Photogenics)
pozwalajâ na bezproblemowâ komunikacjë ze "ôwiatem zewnëtrznym".
Od poczâtku jednak prym w realizowaniu hasîa "aplikacje graficzne
wszystkich platform, îâczcie sië!" wiodâ programy klasy IMAGE
PROCESSING. Wybitnym lingwistâ, potrafiâcym "sië dogadaê" w
kaûdym wîaôciwie narzeczu "wieûy Babel" formatów, jest ImageFX.
<sr>ImageFX -- "uniwersalny tîumacz"
<txt>Program ten (w swej najnowszej wersji 2.0) potrafi odczytaê
dane graficzne (obrazki i animacje) w 40 formatach, zapisaê zaô w
30. Co bardzo istotne, wszystkie te moûliwoôci sâ wliczone w cenë
programu, a nie tak jak w wypadku gîównego konkurenta ImageFX --
ADPro, który standardowo "rozpoznaje" tylko kilka formatów
graficznych i wymaga pakietu Pro Conversion Pack, pozwalajâcego
na operowanie plikami tak powszechnie spotykanymi, jak m.in.
TIFF. Lista formatów, na których moûe operowaê ImageFX, jest
imponujâca i zawiera róûne rodzaje plików, "produkowanych" przez
aplikacje graficzne na róûnych komputerach, czasami bardzo
egzotycznych. Obok "klasyki" pecetowo-macowej, tzn. formatów BMP,
GIF, JPEG, PCX, PhotoCD, PIC, PICT, TARGA, TIFF, moûna spotkaê
formaty stosowane na stacjach graficznych i roboczych,
pracujâcych w systemie UNIX (takûe z nakîadkâ X-Windows): PBM,
SGI, SoftImage, SunRaster, WaveFront, X11WD, oprócz tego moûna
wczytywaê ikony z Windows, czyli pliki ICO, oraz wektorowe pliki
postscriptowe EPS, które zostanâ przez program odpowiednio
"zrastrowane" wedîug wskazanych przez nas parametrów. Moûliwe
jest takûe operowanie zawierajâcymi animacje plikami typu
FLI/FLC, Grasp/DL i MPEG.
Korzystanie z pliku w danym formacie jest bardzo wygodne, bo
program sam potrafi rozróûniê, jakiego typu plik chcemy wczytaê.
ImageFX analizuje jego strukturë i jeôli odpowiada ona jednemu z
"rozpoznawalnych" formatów, wczytuje go bez problemu do bufora
gîównego. Wyjâtek stanowiâ pliki, w których informacja o formacie
nie jest zawarta w nich samych, tzn. tak jak ma to miejsce np. w
formacie TARGA. W tym momencie program wyôwietli listë dostëpnych
formatów (rys. 1.), z której naleûy wybraê odpowiedni.
Sytuacja jest nieco bardziej zîoûona po wyedytowaniu obrazka
w momencie zapisu na dysk. Po klikniëciu na gadûecie Save,
program wyôwietla panel (rys. 2.), za pomocâ którego moûemy
okreôliê, co i w jakim formacie chcemy zapisaê.
Piszâc "co", mam na myôli trzy, a wîaôciwie cztery moûliwoôci,
tzn. Working Screen, czyli zapis ekranu roboczego ImageFX-a,
Rendered Image -- zapis bufora Render, tzn. wygenerowanego przez
program (w okreôlonym przez nas trybie i liczbie kolorów) obrazka
i 24-Bit Buffer, czyli "zrzucenie" do pliku zawartoôci gîównego
bufora programu, w którym obrazek przechowywany jest w postaci
24-bitowej. Czwartâ moûliwoôciâ jest dokonanie separacji
kolorów poprzez klikniëcie na gadûecie Separate Buffer. W tym
wypadku program "rozwarstwi" obrazek na skîadowe kolory RGB, CMY
lub CMYK i kaûda "warstwa" zostanie zapisana do odrëbnego pliku.
Opcjë të postaram sië bliûej przedstawiê przy okazji odcinka o
"drukarskich" zastosowaniach ImageFX-a.
W kaûdym z powyûszych wypadków moûemy wybraê format pliku, w
jakim chcemy zapisaê obrazek, i wîaônie w tym miejscu warto sië
zastanowiê, jaki format bëdzie najbardziej odpowiedni w danej
sytuacji.
<sr>Co wybraê?
<txt>Jeûeli nasz obrazek "ma funkcjonowaê" tylko w ôwiecie Amigi,
odpowiedú jest prosta. Za kaûdym razem bëdzie to format ILBM,
gdyû stosujâc go, mamy pewnoôê, ûe kaûda aplikacja go odczyta. W
tym formacie moûna zapisaê równieû obrazki 24-bitowe (opcja
24-Bit Buffer), poniewaû wiëkszoôê nowszych wersji programów
graficznych potrafi odczytaê tak zapisane dane (np. DPaint czy
Scala serii MM nie ma z takimi obrazkami wiëkszych problemów, z
tym ûe przy wczytaniu "redukujâ" one liczbë kolorów do 256).
Jeûeli natomiast chcemy, by nasz obrazek oczarowaî uûytkowników
"niebieskich" lub smakoszy "jabîuszek", warto wybraê jeden z
najczëôciej stosowanych w ich "ôwiatach" formatów. Obecnie
(czytaj w roku 1995) najczëôciej uûywanymi formatami plików
graficznych na pecetach sâ: BMP, GIF, PCX, TARGA, TIFF, natomiast
"jabîuszka" operujâ zazwyczaj na plikach typu PICT i TIFF. W
obydwu wypadkach bardzo czësto spotyka sië teû JPEG.
Przy tworzeniu obrazków, przeznaczonych do uûytku na innych
komputerach, warto sië kierowaê pewnymi zasadami, które uchroniâ
nas przed nieprzyjemnymi niespodziankami. Po pierwsze w wypadku
generowania obrazka opcjâ Render w ImageFX naleûy unikaê trybu
HAM, gdyû jest to "czysto amigowski" tryb, zwiâzany bezpoôrednio z
charakterystycznymi dla naszego komputera rozwiâzaniami
programowo/sprzëtowymi, i obrazki w HAM-ie nie bëdâ poprawnie
wyôwietlane na innych komputerach (ze znanych mi programów tylko
Photoshop "radzi sobie" z HAM-em). Po drugie warto pamiëtaê o
wîaôciwych wymiarach obrazka. Na komputerach PC i Macintosh
najczëôciej korzysta sië z rozmiaru 640 na 480 pikseli lub 800 na
600. Warto wiëc odpowiednio dostosowaê nasz obrazek za pomocâ
opcji Scale w ImageFX-ie.
Tak naprawdë wybór formatu pliku, w jakim zapisujemy obrazek, ma
jeszcze jeden bardzo waûny aspekt. Jeûeli aplikacja
"wykorzystujâca" nasz obrazek moûe operowaê na kilku formatach,
warto wybraê ten, w którym rozmiar pliku (przy zachowanej
jakoôci) bëdzie jak najmniejszy. Poszczególne formaty róûniâ sië
bowiem stopniem kompresji zapisanych w plikach danych. By uîatwiê
Wam wybór, posîuûë sië maîym przykîadem.
Do programu ImageFX wczytaîem, moûe znany Czytelnikom z
poprzednich odcinków, obrazek panienki (rys. 3., rozmiar 320 na
256 pikseli), a nastëpnie wygenerowaîem go w 256 kolorach i po
wybraniu Save/Rendered Screen zapisaîem do plików w róûnych
formatach. Wyniki prezentujë poniûej.
256 KOLORÓW
ILBM - 83,500 bajtów
--------------------
BMP - 82,998
GIF - 58,939
PCX - 95,325
TARGA - 82,706
TIFF - 83,602
W tym wypadku, jak îatwo zauwaûyê, najbardziej efektywnym wydaje
sië byê format GIF, opracowany przez firmë CompuServ. Dlatego nie
powinien Was dziwiê fakt, ûe wiëkszoôê obrazków, znajdujâcych sië
we wszelkiego rodzaju sieciach komputerowych, jest zapisana
wîaônie w tym formacie. Z drugiej strony widoczna jest
"rozrzutnoôê" jednego z prekursorów formatów graficznych dla
komputerów PC, tzn. formatu PCX. Nasz amigowy ILBM na czwartym
miejscu, i co ciekawe, wyprzedza on format TIFF, którego jednym z
algorytmów kompresji jest stosowany w formacie GIF algorytm LZW
(Lempel-Ziv-Welch, z niewiadomych przyczyn dla obrazków do 256
kolorów twórcy ImageFX-a zastosowali inny, mniej efektywny, typu
PackBits).
Sytuacja robi sië jeszcze ciekawsza w wypadku zapisu obrazka do
pliku 24-bitowego (opcja 24-Bit Buffer). Otrzymujemy wtedy.
24 BITY
ILBM - 202,550 bajtów
---------------------
BMP - 245,814
PCX - 247,403
TARGA - 245,778
TARGA (RLE) - 307,942
TIFF - 245,964
TIFF (LZW) - 256,109
JPEG (90%) - 22,080
JPEG (40%) - 7,433
Wôród "klasycznych" formatów najlepszym wydaje sië nasz IFF ILBM.
W tym miejscu znowu rodzi sië pytanie: "co z tym TIFF-em?",
zwîaszcza ûe wybór algorytmu kompresji LZW powoduje ZWIËKSZENIE
rozmiaru pliku. Przyznam szczerze, ûe nie potrafië wyjaôniê tego
faktu (byê moûe jest to jeden z przysîowiowych "kwiatuszków",
którymi obdarowali nas twórcy programu). Niech nie dziwi brak
formatu GIF na powyûszej liôcie, poniewaû w plikach tego typu
moûna przechowywaê obrazki, zawierajâce do 256 kolorów. Pojawiî
sië natomiast format JPEG i to z jakimi rezultatami!
Format ten jest stosunkowo najczëôciej stosowany do
przechowywania danych 24-bitowych. Zastosowany w nim specjalny
algorytm kompresji (oparty miëdzy innymi o FFT -- ang. Fast
Fourier Transformation -- szybka transformacja Fouriera) zapewnia
nie spotykanâ w innych formatach gëstoôê upakowania informacji.
Niestety, nie ma róûy bez kolców. Z koniecznoôci uogólniajâc,
jakoôê przechowywanego obrazka jest odwrotnie proporcjonalna do
deklarowanego stopnia kompresji. By to wyjaôniê, wystarczy
spojrzeê na rys. 4, 5, 6, 7. Oryginalny obrazek (640 na 512
punktów) odczytany z pliku ILBM (bez kompresji) o rozmiarze
684,320 bajtów zapisany zostaî do plików JPEG z zachowaniem
jakoôci odpowiednio 100%, 75%, 50% i 15%. W tym ostatnim wypadku,
pomimo rewelacyjnego wrëcz spadku rozmiaru pliku, ujawniîy sië
juû, w sposób bardzo widoczny, odksztaîcenia zwiâzane ze znacznym
stopniem kompresji (widaê to zwîaszcza na powiëkszonym fragmencie
rysunku). Rodzi sië wniosek: jeûeli chcemy wykorzystywaê obrazek
24-bitowy kilkakrotnie, bez obawy o jakoôê zawartej w nim
informacji, to unikajmy formatu JPEG, ewentualnie stosujmy wysoki
stopieï zachowania jakoôci (tzn. bliski 100).
<sr>Viewtek -- lekarstwo na brak pamiëci
<txt>W wypadku gdy nasz komputer nie ma pamiëci o odpowiednich
rozmiarach, moûe sië zdarzyê sytuacja, w której przetworzenie za
pomocâ ImageFX-a jakiegoô GIF-a czy JPEG na nasz poczciwy IFF
ILBM moûe sië okazaê operacjâ niewykonalnâ. Wydawaîoby sië, ûe w
tej sytuacji jedynym wyjôciem jest skorzystanie z jakiegoô mniej
"pamiëcioûernego" programu lub próba "zrzucenia" zawartoôci
gîównego bufora ImageFX-a do 24-bitowego IFF ILBM, a nastëpnie
wczytanie go DPaintem i dopiero zapisanie do "normalnego" ILBM-a.
Zanim jednak wybierzecie jednâ z powyûszych moûliwoôci, warto
skorzystaê z usîug, dostarczanego w pakiecie ImageFX, programu
Viewtek. Sîuûy on, co prawda, gîównie do przeglâdania obrazków
IFF ILBM, GIF i JPEG oraz animacji ANIM i ANIM7, lecz dziëki
temu, ûe zostaî wyposaûony w opcjë zapisu (dostëpnâ tylko w
wypadku wyôwietlania obrazków) moûna, do pliku IFF ILBM 256
kolorów, zapisaê kaûdy aktualnie wyôwietlany obrazek. Warto
zaznaczyê, ûe lista obsîugiwanych formatów nie jest zamkniëta,
Viewtek bowiem (podobnie jak ImageFX) wykorzystuje mechanizm
DataType, stâd moûna jâ îatwo rozszerzyê.
Procedura konwersji jest bardzo prosta. Wystarczy uruchomiê
Viewtek, wczytaê potrzebny obrazek, np. w formacie JPEG, i w
momencie gdy ukaûe sië on w peînej krasie na ekranie monitora,
wcisnâê klawisz [S]. Program wyôwietli requester i po podaniu
przez nas nazwy pliku zapisze wyôwietlany obrazek w formacie IFF
ILBM, w 256 kolorach.
Myôlë, ûe po przeczytaniu tego artykuîu, wyposaûeni w ImageFX,
bëdziecie czuê sië choê troszkë pewniej, poruszajâc sië po istnej
"wieûy Babel" formatów graficznych. Ûyczâc Wam zasypania Waszymi
obrazkami caîego komputerowego ôwiata (od peceta, przez maca do
Silicon Graphics) ûegnam sië do kolejnego spotkania z ImageFX-em.