home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
07
/
ami15
< prev
next >
Wrap
Text File
|
1997-04-15
|
9KB
|
210 lines
Program dla Kowalskiego
-----------------------
AIVE
<lead>Redaktorzy Magazynu AMIGA objedli sië ostatnio szaleju.
Opisujâ jakieô programy, które kosztujâ majâtek i wymagajâ
kosztownych inwestycji sprzëtowych. Na szczëôcie ja, Wasz wesoîy
sanitariusz, nie zapominam o tych, którzy z koniecznoôci muszâ
dziaîaê na nie rozszerzonych piëêsetkach. Muszë o Was dbaê, w
przeciwnym bowiem razie w najbliûszych wyborach zagîosowalibyôcie
na ZSL (to znaczy w najbliûszym kiosku kupilibyôcie Zaklëty
Serwis Lamerów îamidûojów, a nie Magazyn AMIGA).
<a>Marek Pampuch
<txt>Dziô przedstawië program, który potrafi to samo co ADPro
(no, moûe prawie to samo), a dziaîa nawet na Amidze 500 z
systemem 1.2 i 512 KB pamiëci! Opisywany program AIVE jest
ponadto programem Freeware, nie wymagajâcym tak duûych opîat, jak
na przykîad PicCon 2.5.
Oczywiôcie -- coô za coô. Musimy byê przygotowani na to, ûe nie
bëdziemy mieli do dyspozycji piëknego interfejsu graficznego,
którym przez jedno klikniëcie myszkâ przeksztaîcimy obrazek.
AIVE (w wersji, w jakiej jest dostarczany) dziaîa wyîâcznie z
poziomu CLI/Shella, a zatem rozkaz wraz z odpowiednimi
parametrami musi byê zawsze wpisany "z rëki". Na dodatek autorem
programu jest Francuz, który nie umie jëzyków obcych. Oznacza to,
ûe doôê obszerna instrukcja dostarczana wraz z programem jest w
jego rodzimym jëzyku. Straszne! Jeôli bowiem ktoô umie jako tako
jëzyk obcy -- jest to angielski, a w nielicznych wypadkach
niemiecki. Francuskojëzycznych uûytkowników Amigi jest w Polsce
mniej niû przysîowiowych palców rëki drwala.
Z koniecznoôci zatem opis ten bëdzie nieco inny niû dotychczasowe
artykuîy z serii "dla Kowalskiego". Pokaûe bowiem, w jaki sposób
moûna przeksztaîciê obrazek, korzystajâc z tego programu.
Zaîóûmy, ûe mamy jakiô obrazek zapisany w formacie GIF, na
dodatek o "pecetowych rozmiarach" (736 x 580 pikseli). Do naszych
niecnych celów (nie wnikam, jakich) potrzebujemy natomiast
typowego IFF hires lace 16 kolorów, bo to najlepszy jakoôciowo
obrazek z tych, które nasza piëêsetka potrafi pokazaê. Na
poczâtek nieco koniecznej teorii. Format rozkazu jest
nastëpujâcy:
<l> AIVE >nazwa< [hire | lore |ehb] [nolace] [gray] [scale] [color
#n] [width w] [height h] [ratio w/s] [dither none | fs1 | fs2]
[smooth none | gs1 |gs2]
<txt>Uff! Przeraúliwe. Na szczëôcie uwaûni Czytelnicy tasiemca o
DOS-ie wiedzâ, ûe ten sposób zapisu oznacza, iû musimy podaê
jedynie nazwë obrazka. Pozostaîe parametry sâ opcjonalne i
korzystamy z nich tylko wtedy, gdy nas coô do tego zmusi. Cóû one
oznaczajâ:
hire, lore, ehb -- okreôla tryb, na jaki ma zostaê przeksztaîcony
rysunek; domyôlnie przyjëty jest tutaj tryb HAM-6;
nolace -- domyôlnie obrazek przeksztaîcony zostanie "z
przeplotem", jeôli jednak podamy ten parametr -- interlejsu nie
bëdzie;
gray -- jeôli podamy ten parametr, obrazek zostanie
przeksztaîcony na 16 odcieni szaroôci;
scale -- przy podaniu tego parametru obrazek zostanie
przeskalowany do maksymalnych wymiarów ekranu (zaleûnych od
ustawionego trybu graficznego);
color -- podajâc ten parametr, w miejsce #n wpisujemy liczbë
kolorów, jakie ma mieê nasz obrazek (z zakresu 8-256, domyôlnie
8);
width -- w miejsce w wpisujemy potrzebnâ nam szerokoôê obrazka,
odpowiednio przy height, w miejsce h -- jego wysokoôê; nie muszë
chyba mówiê, ûe tych parametrów nie moûna uûyê, jeôli w tym samym
rozkazie skorzystaliômy z parametru "scale"; UWAGA: przy zmianie
tylko jednego z tych parametrów automatycznie zostanie przyjëty
domyôlny aspekt;
ratio w/s -- okreôla stosunek boków obrazka; domyôlnie ustawione
jest tutaj w/s równe: 1/2 dla niskiej rozdzielczoôci z
przeplotem, 1/1 dla tejûe rozdzielczoôci bez przeplotem lub
wysokiej rozdzielczoôci z przeplotem oraz 2/1 dla wysokiej
rozdzielczoôci bez przeplotu;
dither -- okreôla typ ditheringu obrazka (dithering byî dokîadnie
omówiony niedawno w artykule dotyczâcym ADPro, warto go zatem
przeczytaê); w naszym wypadku mamy: none -- brak ditheringu, fs1
-- dithering Floyda Steinberga z jednym przejôciem (po
wierszach), fs2 -- ten sam algorytm, ale z dodatkowym przejôciem
po kolumnach obrazka; niestety, algorytm ten nie jest tu najlepiej
opracowany i "sieje", a zatem najlepiej z niego zrezygnowaê
(domyôlnie jest "none");
smooth -- okreôla tryb wygîadzania obrazka: none -- brak, gs1 --
wg algorytmu Gaussa po wierszach, gs2 -- ten sam algorytm po
wierszach i kolumnach.
Tyle mówi instrukcja. Nie sâ to jednak wszystkie niezbëdne
informacje. Bawiâc sië z AIVE na Amidze z 1 MB pamiëci,
stwierdziîem, co nastëpuje.
AIVE nie ma specjalnych wymagaï. Wystarczy sformatowaê i
zainstalowaê dyskietkë i nagraê na niâ sam program (bez
Workbencha), a nastepnie uruchomiê go, wpisujac za promptem na
przykîad jeden z opisanych poniûej wzorów. Program daje sobie
radë z formatami: IFF (w tym HAM8 i hires 256) GIF87a, GIF89a.
Nawet jeôli mamy Amigë tylko z 1 MB pamiëci, to nie musimy sië
przejmowaê wielkoôciâ obrazka. Sprawdzajac to -- skalujac obrazek
testowy, przygotowaîem sobie "potwora" zajmujacego 802,640 KB
(tyle sië zmieôci na dyskietce, na której nagrany jest program).
Jeôli bowiem obrazek jest zbyt duûy, to program automatycznie
przeskalowuje go do standardowych rozmiarow 640 x 512 pikseli, a
w najgorszym razie obcina. Przy bardzo duûych obrazkach i
niewielkiej pamiëci program posiîkuje sië dyskiem, a zatem w
takim wypadku musimy pozostawiê odbezpieczonâ dyskietkë w stacji.
Testowy obrazek miaî 259 KB i nie byîo z nim ûadnych problemów.
Jeôli przeksztaîcimy obrazek "po wysokoôci", efekt bëdzie gorszy
niû przy przeksztaîceniu po szerokoôci. Nie wierzycie? To
wpiszcie na przykîad:
<l> aive df0:test.gif height 205
<txt>a potem:
<l> aive df0:test.gif width 240
<txt>Oba obrazki wynikowe bëdâ miaîy te same rozmiary (240 x 205
pikseli). Który jest îadniejszy?
A teraz, skoro juû jesteômy "naumiane", do roboty. Obrazek, z
którego korzystaîem, nosiî nazwë test.gif. Nagrywamy nasz obrazek
na dyskietce, najlepiej na tej samej, na której jest program
AIVE. Aby otrzymaê w miarë îadny obrazek, speîniajâcy podane na
poczâtku zaîoûenia, naleûy zatem wpisaê (1):
********* KOREKTO! PROSZË NIE USUWAÊ TYCH CYFR W NAWIASACH PRZED
LISTINGAMI! *********************************************
<l> AIVE df0:test.gif hire color 16 width 640 height 512 dither fs1
smooth gs1
<txt>Wyjaônienia wymagajâ wartoôci trzech ostatnich parametrów.
Przy takim podaniu wysokoôci obrazek zostanie lekko
znieksztaîcony (aspect ratio dla naszego obrazka to 736/580,
czyli 19:15, 640/512 zaô to 5:4. W efekcie obrazek nieco sië
wydîuûy. Póî biedy, jeôli przedstawia jakâô "puszystâ" panienkë.
Jeôli jednak sâ na nim (tak jak na "teôcie") kulki -- nie wyglâda
to zbyt piëknie. W takim wypadku lepiej jest "straciê" nieco
szerokoôci, zachowujâc aspekt obrazka. Najpierw obliczymy, ile to
wyniesie, ze wzoru:
<l> 512/580*640= 564
<txt>a nastëpnie przeksztaîcimy obrazek, wpisujâc (2). Przy
okazji przekonamy sie, co da brak ditheringu:
<l> AIVE df0:test.gif hire color 16 width 564 height 512 smooth gs1
<txt>Brakujâce do formatu 640-564=76 pikseli dorysujemy dowolnym
programem malarskim jako dwa czarne paski o szerokosci 38
pikseli. Oczywiôcie, moûemy teû zachowaê oryginalne rozmiary, co
bëdzie znacznie prostsze, a paski dorysowaê w poziomie. W takim
wypadku wpiszemy, dodajac z powrotem dithering (3):
<l> AIVE df0:test.gif hire color 16 dither fs1 smooth gs1
<txt>Sâ to powszechne praktyki wszystkich twórców zestawów
przeksztaîcanych obrazków. Parametry dla ditheringu i wygîadzania
moûna oczywiôcie dobraê inaczej.
A jeôli chcemy otrzymaê obrazek HAM na caîy ekran, wtedy sprawa
bëdzie wyglâdaê jeszcze proôciej (4):
<l> AIVE df0:test.gif scale
<txt>Jest on mniejszy, bo "HAMski obrazek" inaczej nie zmieôciîby
sië w pamiëci. Informacja o kolorach, których tu jest przecieû
256 razy wiecej, "ûre" nieco RAM-u. AIVE automatycznie wypeîni
"puste" pole czarnym kolorem. Przeksztaîcenie obrazka trochë
potrwa. Nasz "test.gif" na A500 z 1 MB pichciî sië okoîo 4 minut,
a obrazek 802 KB -- prawie trzy razy tyle.
Za kaûdym razem pojawia sië okienko, pokazujâce nazwë, typ i
rozmiary oryginalnego obrazka, oraz pasek pokazujâcy
zaawansowanie przeksztaîcenia.
Piëknie! Obrazek mamy przeksztaîcony i wyôwietlony. Ale co teraz?
Jak go zapisaê? AIVE, niestety, takiej moûliwoôci nie ma. Trzeba
w tym celu skorzystaê z dowolnego programu, pozwalajâcego
"zamroziê ekran" (grab screen), co bëdzie îatwe, gdyû
przeksztaîcony obrazek otworzy sië na nowym ekranie. AIVE nie
protestuje takûe, gdy do naszej Amigi jest podîâczony kartridû
Action Replay (sprawdziîem z modelem MK III), którym takûe moûna
ôciâgnâê obrazek.
<r>Program: AIVE v 1.7
Autor: Laurent Vivier
Dostëpny: Aminet (sieê lub kompakt Aminet 2)
<przyp>Ilustracje zostaîy wykonane w opisany powyûej sposób na
Amidze 500 z 1 MB pamiëci.