***** tu bëdzie 5 rysunków (za tydzieï) ******************* Image FX --------- TRACE THROUGH, CZYLI SPOSÓB NA "MASKË" Nie, nie, nie,... choê karnawaî blisko, wcale nie bëdë pisaî o sposobie wykonania interesujâcego i atrakcyjnego zakrycia twarzy na sylwestrowy bal. Nie mam na myôli takûe jednego z lepiej zrealizowanych (od strony komputerowej) filmów, jakie oglâdaîem w tym, stajâcym sië juû powoli historiâ, roku. W ûargonie komputerowym sîowo "maska" okreôla obrazek, stanowiâcy zawartoôê bardzo waûnego bufora, biorâcego udziaî w operacji kompozycji, czyli Alpha Channel. Tadeusz Talar Pozwólcie, ûe na wstëpie przedstawië sytuacjë, która doôê czësto zdarza sië podczas wykonywania róûnego typu "komputerowych fotomontaûy". Oto w rysunku, w którym na jakimô tle znajduje sië interesujâcy nas element lub postaê, chcemy "wymieniê" tylko tîo, pozostawiajâc postaê czy element nie naruszone. Rezultaty takiej operacji przedstawia rys. 1. Przykîadem moûe byê tu zdigitalizowana domowâ kamerâ VHS fotografia, przedstawiajâca naszâ koleûankë nad piëknym morzem (rys. 2). Rzecz w tym, ûe chcemy sië koleûance przypodobaê, oszaîamiajâc jâ naszym komputerowym geniuszem, stâd "ôciâgamy" sobie inny obrazek z kompaktu, przedstawiajâcy akurat jakiô reprezentacyjny (i zarazem drogi) hotel w USA, i przystëpujemy do "wpasowania" koleûanki do amerykaïskich realiów. Posiadacze ImageFX-a popadajâ czësto w rozterkë, objawiajâcâ sië pytaniem "jak to zrobiê najszybciej?". Bogactwo udostëpnianych przez ten program moûliwoôci realizacji tego zadania pozwala bowiem rozwiâzaê nasz hipotetyczny sposób na co najmniej kilka sposobów. Od, brzydko mówiâc, zwykîego zrobienia brusha z naszej koleûanki (i wklejenia do nowego rysunku), do..., no wîaônie, utworzenia "maski", a nastëpnie kompozycji obydwu obrazków z uûyciem Alpha Channel. Ten ostatni sposób nie jest moûe wygodny, lecz daje najlepsze rezultaty. Trzeba jednak utworzyê odpowiedniâ "maskë". I tutaj znowu moûna by powróciê do sytuacji sprzed kilku linijek, tzn. ImageFX dopuszcza wiele mechanizmów tworzenia "masek" i który wybraê? Byê moûe macie wîasne preferencje, jak to zrobiê, ale pozwólcie, ûe przedstawië ten, który w opisanej sytuacji wedîug mnie jest najlepszy. Trace Through Do wîaôciwej kreacji "maski" proponujë zastosowaê rysowanie w trybie (ImageFX 1.5) lub stylu (ImageFX 2.0) TRACE THROUGH. Lokalizacjë w poszczególnych wersjach programu oraz zasadë dziaîania tej opcji przedstawia rys. 3. Rysujâc po buforze MAIN, faktycznie zmieniamy zawartoôê bufora SWAP, a MAIN pozostaje nie tkniëty. W naszym przykîadzie wykorzystanie tej opcji wyglâda nastëpujâco. Wczytujemy obrazek z fotografiâ dziewczyny na morskiej plaûy. Nastëpnie wybieramy w panelu TOOLBOX gadûet BUFFER i wybieramy COPY TO SWAP. W palecie klikamy na pozycji, zawierajâcej kolor biaîy i "czyôcimy" zawartoôê bufora MAIN poprzez wciôniëcie klawisza [K]. Z kolei wciskamy klawisz [J] (SWAP BUFFERS) tak, by fotografia znalazîa sië w buforze gîównym, a "czysty" biaîy obrazek zostaî ulokowany w SWAP. Teraz tylko okreôlamy "gruboôê" pëdzla na 3, wybieramy w palecie kolorów pozycjë, zawierajâcâ kolor czarny, wciskamy klawisz [F6] i w pojawiajâcym sië panelu DRAWING OPTIONS ustawiamy (w zaleûnoôci od posiadanej wersji ImageFX-a) opcjë TRACE THROUGH (patrz rys. 3). Jesteômy gotowi do kreowania "maski". Teraz najbardziej precyzyjna czëôê caîego procesu. Trzeba cierpliwie "obrysowaê" postaê, tak by w buforze SWAP powstaî zamkniëty kontur. Poniewaû nasza koleûanka ma, hm..., doôê nieregularne ksztaîty, najlepiej zastosowaê w tym celu "rysowanie wolnâ râczkâ", czyli "freehand" (patrz rys. 3, czerwona obwódka). Niestety, efekty naszego dziaîania nie sâ widoczne (TRACE THROUGH "rysuje" w buforze SWAP), dlatego teû najlepiej sprawdzaê od czasu do czasu, czy tworzony obrys stanowi zamkniëty kontur. Moûna to zrobiê poprzez wciôniëcie klawisza [L], co uruchamia w ImageFX znanâ z programu Deluxe Paint opcjë LIGHT TABLE, czyli jednoczesnego wyôwietlenia zawartoôci obydwu buforów. Niestety, wyôwietlanie w tym trybie potrafi skutecznie utrudniê lokalizacjë konturu sylwetki dziewczyny, po sprawdzeniu najlepiej "przeîâczyê sië" z powrotem na wyôwietlanie samego bufora MAIN, poprzez powtórne uûycie klawisza [L]. Podczas obrysowywania warto pamiëtaê, by kontur w miarë ôciôle odpowiadaî sylwetce postaci, lepszy efekt bëdzie moûna uzyskaê wtedy, gdy obrys nawet lekko "wchodzi" w postaê. Pamiëtajcie teû o obrysowaniu tych fragmentów, przez które przeôwituje tîo, np. w naszym wypadku widaê morze pomiëdzy udami i obok îokcia prawej rëki. Gdy obrys postaci jest gotowy, przeîâczamy bufory przy uûyciu klawisza [J], TRACE THROUGH przeîâczamy na MATTE (ImageFX 1.5) lub NORMAL (ImageFX 2.0), i za pomocâ ikony z wiaderkiem "wlewamy" w kontur kolor czarny. Maska jest gotowa. Teraz wystarczy przesîaê jâ do bufora ALPHA (poprzez wybranie w panelu TOOLBOX gadûetu ALPHA i nastëpnie COPY TO ALPHA), przeîâczyê znowu bufory (klawisz [J]). Od tej pory kaûdy obrazek, który znajdzie sië w buforze SWAP, moûe zostaê dokomponowany do fotografii z naszâ koleûankâ, bëdâcâ zawartoôciâ MAIN, przy uûyciu opcji COMPOSITE -- MERGE -- ALPHA: USE AS FRISKET w ten sposób, ûe "wymieni" on znajdujâce sië za postaciâ tîo (w buforze ALPHA tîo ma kolor biaîy), natomiast koleûanka pozostanie "nie naruszona" (w buforze ALPHA kontur postaci ma kolor czarny). Jak to wyglâda w naszym przykîadzie, moûecie zobaczyê na rys. 4. No, moûe nie do koïca, poniewaû tak naprawdë to zastosowaîem jeszcze dwa sposoby na ulepszenie "fotomontaûu". Po pierwsze nieco "rozmiëkczyîem" kontury postaci. Pozwala to na bardziej pîynne wpasowanie postaci w nowe tîo. W tym celu wcisnâîem najpierw klawisz [U] (UNDO), co przywróciîo wyjôciowy wyglâd fotografii sprzed kompozycji, w panelu TOOLBOX kliknâîem na ALPHA i wybraîem pozycjë SWAP. Ekran PREVIEW ImageFX-a w tym wypadku pokazuje zamiast bufora MAIN zawartoôê bufor ALPHA. Do "rozmiëkczenia" krawëdzi obrysu postaci postanowiîem wykorzystaê dwukrotne wybranie opcji BLUR z parametrem 16, dostëpnej po klikniëciu na gadûecie CONVOLVE w panelu TOOLBOX. Po wykonaniu tych operacji krawëdzie pomiëdzy obszarem okreôlajâcym tîo a konturem postaci utracâ swój "ostry" wyglâd. Nastëpnie, po klikniëciu na gadûecie ALPHA, wybraîem SWAP, co spowodowaîo umieszczenie zmodyfikowanej "maski" w buforze ALPHA, natomiast na ekran PREVIEW wróciîa znajoma fotografia. Poniewaû z bufora SWAP nie usuwaîem obrazka z amerykaïskim hotelem, powtórzyîem operacjë kompozycji. Efekt byî lepszy niû poczâtkowa próba, ale w powstaîym obrazku dziewczyna byîa jakby przyklejona do gmachu hotelu i brakowaîo mi troszkë "gîëbi" w powstaîym "fotomontaûu". Pomyôlaîem, ûe coô trzeba zrobiê z tîem, tak by staîo sië ono bardziej przestrzenne. Zapis Operacja "uprzestrzennienia" tîa ingeruje we wszystkie bufory ImageFX-a. Poniewaû nie lubië robiê rzeczy dwa razy, zapisaîem fotografië z bufora MAIN i "maskë" z bufora ALPHA na dysk. Na marginesie tego faktu warto zaznaczyê olbrzymie udogodnienie, jakie udostëpnia ImageFX 2.0. Otóû w programie tym, w przeciwieïstwie do starszej wersji 1.5, istnieje moûliwoôê umieszczenia 24-bitowej zawartoôci bufora MAIN razem z bieûâcâ "maskâ", znajdujâcâ sië w buforze ALPHA w jednym pliku w formacie IFF-ILBM. W tym celu po klikniëciu na SAVE wystarczy wybraê opcje 24-BIT BUFFER i SAVE FORMAT: ILBM+Alpha. Operacja wczytywania takiego pliku powoduje automatyczne umieszczenie zawartych w nim danych odpowiednio w buforach MAIN i ALPHA. Warto jednak pamiëtaê, ûe wôród programów dla Amigi tylko ImageFX od wersji 2.0 potrafi poprawnie odczytaê i zinterpretowaê tak zapisane dane. Posîugujâc sië "starszym bratem", programem ImageFX 1.5, w wypadku zapisu danych do pliku IFF trzeba osobno zapisaê zawartoôê bufora MAIN i ALPHA. Poniewaû na co dzieï posîugujë sië ImageFX-em 2.0, zapisaîem obrazek z fotografiâ wraz z utworzonâ "maskâ" do pliku ILBM+Alpha. Gîëbia Wróêmy jednak do tworzenia efektu "gîëbi". Wykreowanie jego polega na komponowaniu ze sobâ dwóch wersji tego samego obrazka, umieszczonych odpowiednio w MAIN i SWAP, z tym ûe jedna jest normalna, "ostra", natomiast druga "rozmyta" opcjâ BLUR, i to nawet w doôê znacznym stopniu. Tym, co decyduje o ustawieniu tzw. gîëbi ostroôci jest odpowiednio skonstruowany obrazek w Alpha Channel. Myôlë, ûe rys. 5. pomoûe Wam w zrozumieniu zasady tworzenia bardziej "przestrzennego" obrazka, natomiast zastosowanie jej do omawianego w tym artykule przypadku przebiegaîo w nastëpujâcy sposób. Na wstëpie, po wczytaniu amerykaïskiego hotelu do bufora MAIN, skopiowaîem go do bufora SWAP. Kolejne czynnoôci, choê na pozór dziwne, majâ jednak swój ukryty sens, pozwolâ bowiem na w miarë proste wykonanie zawartoôci bufora ALPHA, który posîuûy nam do utworzenia "przestrzennego" obrazka. Na poczâtku naleûy utworzyê, po przeîâczeniu sië do panelu PALETTE, zakres lub, jak kto woli, RANGE, skîadajâcy sië z przejôcia (gradientu) od koloru biaîego do czarnego (jeûeli nastrëcza Wam to nieco kîopotów, warto zajrzeê do artykuîu "Zakresem go!" w nr. 8/95 Magazynu AMIGA ). W kolejnym kroku wybieramy opcjë rysowania wypeînionych prostokâtów, wciskamy klawisz [F7] i w panelu FILL OPTIONS ustawiamy TYPE na RADIAL, nastëpnie przesuwamy SKEW ku wartoôciom dodatnim, np. +35. Teraz "rozciâgamy" prostokât na caîy obraz, natomiast ôrodek wypeînienia ustawiamy w miejscu przedstawiajâcym najbardziej oddalony element obrazka. Poniewaû caîy czas mamy przed oczami obrazek z hotelem, nie powinno to byê trudne. Wydaje sië, ûe najlepszym miejscem sâ okolice pomiëdzy lewym górnym rogiem obrazka a ôrodkiem lewej krawëdzi. Klikamy wiëc w tym miejscu i po chwili zawartoôê ekranu bëdzie stanowiê utworzony gradient. Obrazek ten, umieszczony w Alpha Channel, a sîuûâcy do okreôlenia proporcji kompozycji "ostrego" obrazka z obrazkiem "rozmiëkczonym", decyduje w rezultacie o tym, jak zmienia sië "ostroôê" w obrazku finalnym. W zaleûnoôci od potrzeb moûna, najlepiej przy uûyciu suwaka GAMMA, dostëpnego po klikniëciu na BALANCE, jego zawartoôê "rozjaôniê" (obraz wyjôciowy bardziej miëkki), "przyciemniê" (bardziej ostry). Po tych korektach umieszczamy go w buforze ALPHA poprzez COPY TO ALPHA. Przeîâczamy bufory klawiszem [J] i na ekranie powinien sië pojawiê obrazek z hotelem. Na razie jest ostry, ale potrzebujemy jego wersjë "rozmiëkczonâ". Kopiujemy wiëc go do SWAP, a nastëpnie w zaleûnoôci od potrzeb, zawartoôê MAIN, najlepiej co najmniej ze dwa razy, potraktowaê opcjâ BLUR, i to z parametrem 16. Teraz zamieniamy bufory miejscami (klawisz [J]), tak by w MAIN znajdowaî sië obraz "ostry", a w SWAP "miëkki", i komponujemy opcjâ COMPOSITE -- MERGE -- ALPHA: USE AS FRISKET, przy czym w tym wypadku moûna równieû poeksperymentowaê z ustawieniem suwaka BLEND. Myôlë, ûe powyûsze informacje pozwolâ Wam utworzyê nieco przestrzenniej wyglâdajâce tîo, które wkomponowane do obrazka z postaciâ sprawi, ûe nasz fotomontaû bëdzie bardziej realistyczny. ImageFX 2.0 -- Trace Alpha Na marginesie stylu TRACE THROUGH warto wspomnieê o dodatkowym istnieniu w programie ImageFX 2.0 jej mutacji o nazwie TRACE ALPHA. Po wybraniu tego stylu wynik operacji na zawartoôci bufora MAIN bëdzie "lâdowaî" nie, jak poprzednio, w buforze SWAP, lecz w buforze ALPHA. Pozwala to na tworzenie "masek" bezpoôrednio w buforze ALPHA. W tym wypadku, jeûeli chcemy "podejrzeê" stan zaawansowania tworzenia obrysu postaci czy obiektu, podobnie jak w poprzednim wypadku naleûy uûyê opcji LIGHT TABLE (klawisz [L]), a nastëpnie przeîâczyê jâ poprzez uûycie klawisza [V] z wyôwietlania wraz z buforem MAIN, buforu ALPHA a nie SWAP. Opisany w tym artykule sposób kreowania "komputerowych fotomontaûy" przy uûyciu tworzonych opcjâ TRACE THROUGH "masek" jest tylko próbâ przedstawienia jednego z najczëôciej stosowanych i dajâcego zarazem bardzo atrakcyjne rezultaty, efektów. Wîaôciwie kaûdy dobry program image processing pozwala na jego realizacjë w taki czy inny sposób. To, co opisaîem, jest tylko fragmentem olbrzymich moûliwoôci, jakie w zastosowaniach tego typu daje ImageFX. Mam nadziejë, ûe w nowym, 1996, roku bëdë mógî je przedstawiê szerzej.