Zdjęcia na Javie: JPhotoTagger
JPhotoTagger to rozbudowany menadżer zdjęć i różni się od innych rozbudowanych menadżerów tym, że skutecznie potrafi zrobić użytek z wprowadzanych przez nas tagów, słów kluczowych, opisów zdjęć, danych EXIF, IPTC i tak dalej. Tak po prawdzie, to tagowanie zdjęć jest zaledwie czubkiem całej góry opcji dostępnych w tym programie. Koncepcja jego działania polega na opisywaniu zdjęć wspomnianymi wcześniej znacznikami i zapisywaniu ich w plikach XMP obok oryginalnego pliku oraz w lokalnej bazie danych. Dane te mogą być ze sobą synchronizowane (zmiana pliku XMP spowoduje zmiany w bazie), a dzięki takiemu rozwiązaniu nasze późniejsze wyszukiwania konkretnych znaczników będą o wiele szybsze (wprost z bazy). JPhotoTagger pozwala grupować zdjęcia w albumy, ulubione, a także odnajdywanie plików z tagami, bez tagów, wg. modelu aparatu, wg. ogniskowej, wg. daty i tak dalej (lewa kolumna głównego okna). Istotnym jest fakt, że podczas takiego segregowania, zmieniają się tylko zapisy w bazie, natomiast nie zmienia się fizyczne położenie obrazów.
Drugiem gwoździem programu jest prawa kolumna i wszelkie opcje opisywania i cechowania zdjęć, nadawania tytułów i słów kluczowych, oceniania, itp. Co więcej, mamy możliwość tworzenia profili takich opisów i szybkiego stosowania ich podczas późniejszej pracy. Jakby tego było mało, JPhotoTagger potrafi odczytać pliki XMP i tagi generowane przez Lightrooma oraz Photoshopa (istotna sprawa dla osób posiadających kolekcje tworzone w tych programach oraz różnych systemach).
I nadszedł czas na środkową kolumnę, która wyświetla miniatury zdjęć (program obsługuje format RAW, jpg, tiff, png, bmp i inne) z aktywnych lokalizacji lub wynik wyszukiwania. Miniatury mogą być dowolnych rozmiarów (opcje), a kliknięcie prawym przyciskiem na pliku otworzy przed nami kolejne możliwości. Do najciekawszych należy otwieranie wybranego zdjęcia w zdefiniowanym przez nas zewnętrznym edytorze (‘Open with’), wywoływanie własnych poleceń (‘Actions’), obsługa miniatury i danych zdjęcia (‘Refresh’ i ‘Rotate’). Przy pomocy tego menu dodamy zdjęcie do konkretnego albumu, ocenimy je, zmienimy nazwę (rozbudowane), czy wyślemy do jego z pluginów JPhotoTaggera (np. przesyłanie pliku na Flickr).
To oczywiście nie wszystko, bo w górnym menu natrafimy na cały zestaw funkcji i opcji obsługujących bazę programu (w tym eksport/import), odnajdywanie duplikatów, profilowane zmienianie nazw, oraz oczywiście rozbudowane opcje. Przypuszczalnie każdy znajdzie coś użytecznego dla siebie w tym programie. Pozostaje kwestia jego zainstalowania.
Jak można się domyślić po ‘J’ w nazwie, JPhotoTagger został popełniony w Javie. Aby go zainstalować musimy pobrać archiwum i rozpakować je do np. ~/Programy/. Teraz mamy dwa wyjścia – ustawić zezwolenie na wykonywanie pliku JPhotoTagger.jar (musimy mieć zainstalowane OpenJDK 1.7), uruchamiać dwuklikiem i cieszyć się z pełni niemieckiego tłumaczenia (język twórców). Albo w katalogu z tym plikiem utworzyć sobie skrypt run.sh o treści:
#!/bin/sh
java -jar -Duser.language=en JPhotoTagger.jar
… nadać mu prawa na wykonywanie (prawy przycisk, właściwości -> uprawnienia) i odpalać program za pomocą tego skryptu oraz cieszyć się nieco bardziej zrozumiałymi dla większości angielskimi napisami.
Drugi motyw dotyczy generowanego podglądu plików RAW. U mnie program domyślnie nie potrafił (?) dogadać się z zainstalowanym dcraw, pomimo odpowiednich ustawień. Twórcy przewidzieli jednak możliwość własnego skryptu tworzącego miniatury – wystarczy w opcjach dla miniatur wybrać External Program oraz następnie Script. Teraz wskazujemy nasze zainstalowane w systemie polecenia dcraw (apt-get install dcraw), convert i identify (apt-get install imagemagick). I po tym miniatury plików RAW zaczną się generować, lecz nieco ślamazarnie. A wszystko przez to, że uruchamiany przez JPhotoTagger skrypt wymusza na dcraw pełne dekodowanie surówki z matrycy, co siłą rzeczy musi trwać. I na to też jest rada. W opcjach poniżej Externa; Program ujrzymy ścieżkę do rzeczonego skryptu (/home/NAZWA_USERA/.de.elmar_baumann/ImageMetaDataViewer/pluginsettings/image_magick_dcraw.sh). Otwieramy go do edycji i zamieniamy dwie linijki:
temp_filename=$temp_dir/$(basename $0).$$.pnm
… na…
temp_filename=$temp_dir/$(basename $0).$$.jpg
… oraz…
/usr/bin/dcraw -c -h $image_filename > $temp_filename
… na…
/usr/bin/dcraw -c -e -h $image_filename > $temp_filename
To spowoduje, że dcraw nie będzie dekodował pliku raw, a odczytywał zapisaną w nim miniaturę jpg. Przynajmniej u mnie to przyśpieszyło całą sprawę.