čtvrtek 16. dubna 2009

Galerie sama a jednoduše

Možná jste již zaznamenali, že rád fotím. O kvalitě zde mluvit nechci a nebudu, ale baví mě to. Po celodenní procházce mám obvykle kolem 60 až 90 snímků, přičemž po prohlídce v počítači takové dvě třetiny jsou promazány (víc fotek stejného s trochu jinými parametry...). Na zpracování mi tak zbývá asi 20 až 30 fotek. Tato činnost bohužel automatizovat nikterak asi nejde.
Fotím do formátu RAW digitální zrcadlovkou Canon. Každou fotku musím upravit co se barev týče. Jakmile mám hotovo, čeká mě práce nejhorší: uveřejnění fotek na internet. Tedy čeká... čekala. Dlouho jsem hledal galerii, která by se mi libila, byla jednoduchá a přehledná, ovšem i po vizuální stránce co nejhezčí. Prvně jsem to řešil jednoduše: nijak. He, fotky jsem uveřejňoval v seznamu odkazovaných fotek na mých školních stránkách na physics.muni.cz. Když jsem si zřídil blog, uveřejňoval jsem fotky tady.

Ovšem jsem od přírody líný člověk, takže jsem chtěl ještě něco jednoduššího na používání. Nakonec jsem našel věc, která se jmenuje SimpleViewer. Vzal tamní engine a nad tím pomocí scriptu vytvořil celkem robustní nástroj pro vytvoření galerií. Tu nejnovější jsem zmínil tady.

Tedy, co je nutné udělat, abyste měli taky takovou pěknou galerii je, stáhnout si tento soubor, přidat mu příznak spustitelnosti a jako root jej nahrát do /usr/local/bin/. Je to možné udělat v terminále velice jednoduše:

wget http://physics.muni.cz/~petos/other/linux/gengal.sh
chmod +x gengal.sh
su -c "mv gengal.sh /usr/local/bin/gengal.sh"

Pro chod programu je třeba doinstalovat tyto balíčky imagemagic a wget, které na 99 % již v systému máte, a geeqie, které asi nemáte, ale je v mém repozitáři a nakonec jhead, který v mém repu není, ale je v oficiálních repozitářích Mandriva Linuxu.

Tyto tři příkazy stačí k nainstalovácí scriptu do počítače. Počítá se s tím, že při tvorbě galerie bude počítač připojen k internetu, neboť engine je uložen na mém serveru a stahován při generování galerie.

Nyní je třeba vybrat fotky, které máte v plánu uveřejnit na netu a nahrát do jednoho adresáře. Psal jsem to tak, že script běží pouze s jpg soubory, ale jednoduchá úprava povede k zobrazení i jpeg souborů či png. jpg používám pro jednoduchý a přehledný exif, který png nemá a nepovedlo se mi vyextrahovat z png 'exifu' cas pořízení fotografie, což jpg umi...

Tento adresář si otevřete v terminálu (ano, toto nemá GUI ;) ). Nyní stačí napsat

gengal.sh

Script si překontroluje přítomnost dvou souborů s enginem a případně si vyžádá jejich stažení z internetu. Oba soubory potvrdíte enterem, čímž je stáhnete. Jedná se o soubor galerie.js a galerie.swf. Právě tyto soubory obsahují engine, který všechno řídí. Aby gengal.sh fungoval, je třeba, aby se tyto soubory nacházely ve stejném adresáři, jako fotky. Chcete-li se tedy vyhnout kopírování souborů z internetu, stačí před spuštěním gengal.sh k fotkám přikopírovat odnekud z disku, popř. poupravit script tak, aby soubory kopíroval z místa na disku...

Po případném stažení souborů script vypíše jména souborů, které budou zahrnuty do galerie. Máte na výběr z několika možností:

Stisknete-li "a", jména se automaticky upraví dle vzoru: jmeno-adresare_cislo.jpg.
Stiskem klavesy "f" se script bude chovat tak, ze prejmenuje fotky podle vzoru: jmeno-adresare_puvodni-jmeno-fotky.jpg
Stisknete-li "g", spusti se geeqie a je mozne jmeno upravit rucne
Stisknete-li "k" nebo ^C, script se ukonci a je mozne upravit seznam fotografii
Stiskem libovolné jiné klávesy bude pokracovat generovani galerie dal

Nejčastěji tuto možnost budete ignorovat a ťuknete do enteru. Systém se snaží být ale aspoň trochu inteligentní a nabídne několik možností:

  • Nic nedělat a stisknout enter nebo cokoli jiného: systém vezme jméno fotky takové, jaké je a bude pracovat s ním

  • k nebo ^C (alias CTRL+C: Script se přeruší a skončí.

  • g: stisknutím klávesy g spustíte geeqie (v mém repozitáři). Je možné opět upravit či přeprogramovat na jiné tlačítko či prohlížeč, popř. volbu zcela odstranit

  • f: Přejmenuje fotky podle vzoru: adresar_fotka.jpg (tedy jmeno adresare spodni_podtrzitko a puvodni jmeno fotky.jpg )

  • a: Funguje pouze tehdy, máte-li pojmenovávání fotek ve stylu fotoaparátů Canon: XYZ_1234.jpg; tedy cokoli_cisla.jpg. Podstatné je tam ono (pouze jedno!) spodní podtržítko a pak čísla.jpg Pokud nemáte tento systém pojmenovávání souborů z foťáku, tuto volbu nepoužívejte! V adresari hory přejmenuje fotku podle vzoru:

    IMG_1234.jpg > hory_1234.jpg



Posledním interaktivním prvkem je zde pojmenování galerie:


Galerie se bude jmenovat excalibur. Prejete-li si jine jmeno, napiste jej. V opacnem pripade stisknete enter


Nyní stačí napsat jméno galerie. Systém bere i češtinu popř. mezery. V případě, že se nacházíte v adresáři odpovídajícím jménem jménu galerie, stačí ťuknout na enter - je důležité, aby tam nebyla ani mezera - aby pole zůstalo opravdu prázdné!

Toto je poslední krok. Systém nyní vezme abecedně řazené snímky, naskládá je do galerie, upraví a z exif informací vytáhne vše potřebné a doskládá to galerie.

Nyní je možné již ve vašem oblíbeném textovém editoru (emacs, vim, kwrite, gedit, cokoliv) upravit soubor gallery.xml: V tagu je uveden popis, který se bude u fotky zobrazovat, defaultně tam jsou právě informace ISOekvivalent, Uzávěrka a Clona. Možné dopsat libovolné další informace :)


Všem přeji spokojené užívání, uvítám případné nápady či připomínky nejlépe v diskusi pod článkem, ale klidně i mailu či jabberu :)

2 komentáře:

Unknown řekl(a)...

No flash, no love. Nešlo by to místo flashe udělat v javascriptu, který má (skoro) každý v browseru zapnutý a zvládá stejnou funkcionalitu?

Nebylo by šikovnější extrahovat ISO a expozice přímo z RAW přes dcraw?

Peťoš řekl(a)...

engine jsem nepsal, je prebrany. Udelal jsem vsechno okolo - tu automatizaci, ale vlastni galerii ne...

A s tim extrahovanim to neni problem si prepsat, ze jo. Jen ja mam ty fotky uz poupravene (barvy, popr. vyrezy), coz v RAW neudelam. Navic nevim, jestli prohlizec umi zpracovavat RAW, ale byl bych se vsadil, ze ne :-\