Návrh softwarového projektu FotoAlbum

Pavel Machek

e-mail: pavel@ucw.cz

7. 9. 2003

Cíl projektu

Cílem projektu bude vytvořit editor pro práci s větším množstvím obrázků (typicky získaných z digitálního fotoaparátu). Měl by umožňovat základní operace s obrázky (otočit, oříznout, změnit jas/kontrast, korigovat barvy, zmenšit), jejich mazání, třídění do skupin, práci s metaúdaji (komentář k obrázku, datum pořízení, autor, hledání podle metaúdajů), práci s galeriemi obrázků (export na web) a inteligentní tisk (obrázku nebo celé galerie, jednoho obrázku na stránku nebo více). Mělo by být možné s obrázky pracovat hromadně, tj. například označit skupinu obrázků a změnit jas/kontrast celé skupiny.

Uživatelské rozhraní by mělo být co nejefektivnější na počet stisků kláves/operací myší a libovolná operace (včetně např. smazání skupiny fotografií) by měla být revertovatelná pomocí vícestupňového undo/redo. Měly by být podporovány obvyklé formáty pro obrázky (jpeg, gif, png) a spouštění externího editoru (gimp) pro složitější operace.

Program by měl umožňovat základní práci s krátkými animacemi ve formátu Motion JPEG, obvyklém v digitálních fotoaparátech: smazat kus animace, cut/copy/paste mezi animacemi, změna hlasitosti (části) zvukové stopy, spuštění externího editoru na zvukovou stopu a možnost editovat animaci jako skupinu obrázků.

Program by měl obsahovat thumbnaily pro snazší orientaci a počet editovaných obrázků by neměl být omezen velikosti operační paměti. Dlouhotrvající operace by měly být prováděny na pozadí. Program by měl inteligentně zacházet se ztrátovými formáty typu jpeg (oříznutí bez ztráty údajů rekompresí, možnost nastavení výstupní kvality).

Platforma

Projekt bude určen pro systémy unixového typu a alespoň pod emulací by měly být základní funkce použitelné i na MS Windows. Napsán by měl být v jazyce C s maximálním využitím existujících knihoven.

Řešitelé

Projekt je určen pro tým 4-6 studentů, předpokládá se znalost C, základních vývojových nástrojů a schopnost programovat pod X Window Systémem. Vítána je znalost Gtk.