Hlavní navigace

Linux a digitálna fotografia: fotoalbumy

15. 9. 2004
Doba čtení: 7 minut

Sdílet

Fotky sú nafotené, prenesené do počítača a upravené v grafických editoroch. Dajú sa samozrejme vytlačiť na papier, ale digitálnych fotografov by mali viac zaujímať digitálne fotoalbumy. Hneď sa pozrieme, ako sa dajú vytvárať.

Bežný vzor pre elektronické fotogalérie je nasledovný: album je rozdelený na podalbumy, ktoré majú stromovú štruktúru a obsahujú fotky. Pri prehliadaní sa užívateľovi najprv ponúkne zoznam zmenšených obrázkov, ktorým sa dá listovať. Po kliknutí na zmenšeninu sa zobrazí fotka v pôvodnej veľkosti. To všetko je prezentované ako webová stránka, takže na prácu s hotovým albumom stačí webový prehliadač, ktorý dokáže zobraziť obrázky.

Jednoduché HTML galérie dokážu vytvárať aj prehliadače obrázkov spomínané v minulej časti seriálu. Avšak existujú špeciálne programy s mnohými zaujímavými funkciami a tým bude venovaný nasledujúci text.

Vytvorenie statickej galérie

Je mnoho programov, ktoré zo stromu adresárov plných fotiek dokážu za moment spraviť statické HTML stránky albumu s náhľadmi, pop-up oknami detailov a navigačnými tlačítkami. Obvykle to spravia na základe nejakej šablóny, ktorú užívateľ môže upravovať a tak ovplyvňovať vzhľad výsledku.

Nielenže sa takáto galéria dá zverejniť na webe, ale aj vypáliť na CD-čko.

JAlbum

JAlbum je otvorený (open) generátor statických webových fotoalbumov napísaný v Jave, takže „beží prakticky všade“. Najzaujímavejšou vlastnosťou je jeho variabilnosť – v užívateľskom rozhraní aj vo výzore vygenerovaných albumov.

Najjednoduchší spôsob, ako vytvoriť album, vyžaduje dve akcie myšou – adresár obsahujúci obrázky drag-en-dropnete do okna JAlbumu a kliknete na „Make album“. Program vytvorí indexové stránky s náhľadmi a stránky s obrázkami, plus potrebnú navigáciu. Originálne obrázky sa nezmenia, len sa k nim pridajú ich zmenšeniny a súbory s HTML. Program vie na fotky aplikovať aj rôzne filtre, vkladať texty a podobne.

Pokiaľ chcete do dizajnu svojho albumu investovať viac času, môžete si vybrať jednu z mnohých „koží“, ktoré sú k dispozícii. Niektoré skiny sú konfigurovateľné, takže ich parametre môžete upravovať priamo v programe, alebo ručne v ich zdrojákoch.

No to už nemá ďaleko od vytvárania vlastných skinov. Vďaka užívateľským premenným, vlastnému značkovaciemu jazyku na riadenie generovaného HTML a použitiu skriptovacieho jazyka BeanShell sa v JAlbume dá vytvoriť akýkoľvek HTML layout.

Stačí vedieť trochu HTML, CSS a algoritmy. A čítať prehľadnú dokumentáciu.

Ale nemusíte vedieť skoro nič, aby ste sa s použitím existujúcich skinov za 15 minút klikania dopracovali k dobre vyzerajúcemu albumu. Niektoré skiny (napríklad môj obľúbený ExhibitPlus) sú tak flexibilné a komplexné, že majú vlastné webové stránky s ukážkami a dokumentáciou.

Vytvorený album sa dá poslať z JAlbumu priamo na webserver prostredníctvom FTP, jeho generovanie sa dá spúšťať aj z konzoly.

Gallery Constructor 2

V konečnom dôsledku ponúka Gallery Constructor 2 (ďalej GC2) takmer rovnaké výsledky ako JAlbum – z adresárov s fotkami vytvorí pekné HTML indexy s odkazmi na obrázky. Rozdiel je však v tom, ako generovanie prebieha a ako do neho môžeme zasahovať.

Na užívateľskej úrovni GC2 používa koncept workflows. Workflow je postup vytvárania obrázkov a náhľadov. Tento postup je zostavený z modulov, ktoré menia vzhľad výsledného obrázku – pridajú rámček, tieň, text, zmenia kontrast a podobne. Moduly sú parametrizovateľné a v rámci workflow sa vykonávajú lineárne jeden za druhým, pričom samozrejme závisí na ich poradí. Tak sa dajú dosiahnuť zaujímavé efekty.

Celkový vzhľad albumu sa dá meniť pomocou preddefinovaných šablón. Tie sa dajú upravovať alebo vytvárať nové. To je dosť jednoduché, pretože šablóna sa skladá z troch súborov. Jeden z nich je XML obsahujúci základné informácie o tom, ako má byť album vytvorený. Ďalšie dva sú vlastne XSL dokumenty, popisujúce, ako mú byť vytvorené HTML s náhľadmi a so samotnou fotkou. Po pochopení systému je skutočne triviálne vytvoriť si vlastný dizajn galérie.

Album

Album je perlový skript, ktorý prechádza rekurzívne adresáre s obrázkami a na základe šablóny generuje HTML album. Generuje náhľady, podporuje EXIF…

Výsledky nie sú nič moc, ale keď je niekto závislý na príkazovom riadku, poteší ho aj:

niekto@konzola:~$ album /example/path/to/images/

Okrem spomínaných aplikácií sa dá na Internete nájsť mnoho ďalších, napríklad jedna s preklepom v názve alebo druhá v Tcl/Tk.

Dynamické online galérie

Existuje mnoho webových systémov na správu fotiek, ktoré poskytujú online administrátorské rozhranie na správu fotografií. Nie sú síce tak pohodlné a nenáročné ako ich offline kolegovia, oproti tým však majú jasnú výhodu: stránky albumu sú dynamické, čo umožňuje napríklad obmedzovať prístup užívateľov, komentovať alebo hodnotiť fotky, posielať obrázky mailom priamo z albumu ako pohľadnicu a podobne.

Gallery

Gallery je v súčasnosti jeden z najlepších open-sourcových projektov svojho druhu. Je napísaný v PHP, pre svoju činnosť vyžaduje iba webserver Apache 1.x/2.x, PHP4 a balík NetPBM alebo ImageMagick.

Na nainštalovanie potrebujete shell konto alebo ftp prístup na webserver, každopádne tam nemusíte mať žiadne špeciálne práva. Po rozbalení aplikácie a vytvorení adresára na albumy inštalácia pokračuje konfiguráciou cez webové rozhranie. Celý proces je veľmi jednoduchý, netrvá ani pol hodinu.

Gallery je vlastne správca kolekcie fotoalbumov. Na jednom serveri je možné mať niekoľko inštancií Gallery a v každej neobmedzené množstvo albumov. Albumy môžu obsahovať podalbumy a samozrejme fotky.

Možností pridávania fotiek je dosť veľa – prostredníctvom HTML formulára sa dajú uploadovať po jednej alebo v zazipovaných súboroch, webové rozhranie má na túto činnosť aj dva rôzne pohodlné aplety. Dá sa tiež použiť FTP, alebo si môžete stiahnuť desktopovú aplikáciu v Jave, ktorá dokáže základné operácie so súbormi už na strane klienta.

Po načítaní obrázkov do galérie ich program automaticky otočí podľa EXIFu a vytvorí z nich náhľady. Užívateľ môže potom fotky pomenovať, napísať k nim komentáre, prideliť k nim práva.

Práva a správa užívateľov sú vôbec silnou stránkou aplikácie. Administrátor môže vytvárať užívateľské účty a dávať im práva. Užívateľ tak môže mať napríklad priradený album, alebo právo na operácie nad skupinou albumov. Dá sa nastaviť aj možnosť, pri ktorej sa užívatelia môžu sami zaregistrovať a potom vytvárať albumy. Tak ako konfigurácia a správa fotiek, aj administrácia užívateľov prebieha cez webové rozhranie.

Výzor galérie sa dá meniť prostredníctvom skinov, ktorých je k dispozícii dostatok. Kto si nevyberie, môže si vytvoriť vlastný dizajn, takže sa Gallery dá transparentne zakomponovať do už existujúcej webovej aplikácie. Príkladov elegantných riešení je veľa, mimochodom aj tento ich zoznam je galéria obrázkov.

Pri prezeraní návštevníci prechádzajú stromom albumov, môžu hodnotiť fotky v ankete, pridávať k nim komentáre, alebo si prezrieť EXIF. K dispozácii je aj režim slideshow.

Celá Gallery sa dá tiež prepnúť do „offline“ režimu a následne stiahnuť pomocou wget. Stiahnutý obsah albumu tak môže byť vypálený na CD alebo zverejnený na webserveri bez PHP. Gallery obsahuje podporu 30 jazykov, medzi ktorými je aj čeština, hoci preklad nie je celkom hotový. Lokalizovať sa dá aj formát času a dátumu.

LinPHA (The PHP Photo Archive)

Ďalším správcom online albumu je LinPHA. Je na prvý pohľad jednoduchší ako Gallery, má menej funkcií a tým menej nastavovania.

Aj LinPHA ponúka inštaláciu riadenú cez web. Vyžaduje Apache s PHP, ImageMagick a MySQL alebo PostgreSQL. Konfiguračný kúzelník všetko nastaví a zábava môže začať.

Administrátor má v LinPHA k dispozícii základné nastavenia vzhľadu, správu užívateľov založenú na skupinách, štatistiky a podobne. Funkcie aplikácie sa dajú rozširovať pomocou pluginov. Štandardne je možné zapnúť knihu návštev, pridávanie watermarks do obrázkov, testy výkonu, kešovanie (ako sa to povie?) obrázkov a správu databázy.

Upload fotiek je triviálny, správa albumov je riešená ako klasický „súborový systém“, takže je veľmi intuitívna. Fotky sa naviac dajú zaradiť do rôznych (oprávneným človekom definovaných) kategórií, čo uľahčuje vyhľadávanie.

Z pohľadu užívateľa vyzerá LinPHA decentne, dá sa s ním dohovoríť aj česky, poskytuje solídne vyhľadávanie vo fotkách, vie slideshow a na požiadanie zobrazí EXIF informáciu. Obrázky sa dajú zobraziť v rôznych veľkostiach, kto chce, môže k nim pridávať komentáre.

Ako som spomínal, LinPHA je v porovnaní s Gallery o niečo jednoduchší. A možno v tom je jeho výhoda – nainštalovaný, nakonfigurovaný a pochopený je asi za 15 minút. Takže ak potrebujete miesto, kam by ste s kamarátmi mohli nahrávať fotky z výletov, LinPHA by sa o to mohol postarať.

Jeho hlavným nedostatkom oproti Gallery je potreba databázy, ale MySQL už poskytujú aj na free-hostingoch.

Tlač na papier

Pokiaľ vás predchádzajúce riadky nepresvedčili, že fotky vlastne na papier nepatria, mám tu pár (nielen linuxových poznámok). Na www.digi-foto.sk je článok, ako digitálne obrázky pred tlačou digitálne upravovať.

No a ak chcete byť digitálny, pokiaľ to len ide, pošlite svoje výtvory do fotozberne pomocou Firefoxu alebo Mozilly, väčšinou tam majú online príjem zákazok. Zoznam rôznych fotolabov s cenami, porovnaním služieb a kvality nájdete na www.digilaby.cz.

CS24_early

Záver

Dnešný diel bol o aplikáciách na vytváranie statických a dynamických HTML fotoalbumov. Programov tohoto typu je však toľko, že priestor článku by nestačil ani na ich vymenovanie. Ak preto máte skúsenosti s niečím iným, podeľte sa prosím o ne v diskusii.

Nabudúce sa pozrieme na archivovanie fotiek na CD, na správu takýchto archívov a vyhľadávanie v nich.

Byl pro vás článek přínosný?

Autor článku