W związku z moim rozpoczęciem współpracy z portalem Tweaks.pl potrzebowałem narzędzie, które ułatwiłoby mi prostą i szybką konwersję obrazków do zadanego formatu. Mam co prawda GIMP-a, ale jest to duża krowa. Na dodatek to mój sprzęt jest już mocno przestarzały i w efekcie samo uruchomienie i załadowanie obrazków zajmuje mi 1.5 minuty.
Dlatego też zapytałem o jakieś inne, fajne rozwiązanie pod Ubuntu. Polecono mi instalację ImageMagick-a. Znam to narzędzie z serwera i wiem, że jest dobre. Niestety, ale po krótkim zapoznaniu się z nim stwierdziłem, iż potrzebuję czegoś nieco bardziej rozbudowanego. Sama opcja powiększania i pomniejszania zdjęć do kilku narzuconych z góry formatów, zmiana w % lub zmiana do zadanego formatu okazała się być niewystarczająca. Ja potrzebowałem coś, co przytnie obrazek do wybranych przeze mnie rozmiarów równocześnie nie zmieniając proporcji obrazka.
Tak oto znalazłem Phatch. Już na wstępnie stwierdziłem, że wygląda znakomicie. Uzmysłowił mi to przyjazny wygląd oraz kilka opcji, które widziałem na zrzutach ekranu, m.in. Watermark. Tak się składa, że miałem pisać dla magazynu komputerowego, więc co mi szkodzi dodać znak wodny, by nikt nie pożyczył sobie mojej pracy? Szybko kliknąłem na free download i tutaj nastąpił mały problem. Cztery wersje do ściągnięcia, w tym najnowsza bodajże na Ubuntu 7 (a ja mam 9). No, ale co tam. Działa.
Przystąpiłem do działania. Odpaliłem urządzenie i tu pierwszy kłopot. Jak się zmienia te obrazki. Myślałem, że Phatch nie działa. Nigdzie nie mogłem znaleźć opcji Otwórz obrazek. Już miałem pogodzić się z fiaskiem, gdy przyszedł mi do głowy pomysł znalezienia pomocy na forum. Tym sposobem znalazłem Wiki Phatcha, Forum oraz wiele innych linków. Przypomniał mi się webshots.bluga.net, który nie tak dawno opisywałem. Oba skrypty były znakomicie udokumentowane. Phatch też był. W takim razie nie może tak po prostu nie działać.
Dopiero po przeczytaniu tutoriala zrozumiałem, że Phatch nie przetwarza obrazków w taki sposób, w jaki to robią zwykłe programy. Tutaj mamy do czynienia z procesorem przetwarzania! Tutorial wszystko wyjaśnił i po chwili kilkanaście zdjęć zostało przyciętych do rządanych rozmiarów oraz wzbogaconych w zaokrąglone narożniki, cieniowanie, znak wodny i wiele innych. Dodam, że przetwarzanie odbywa się strumieniowo, tzn. tworzysz Phatchowi instrukcję co ma zrobić a następnie wybierasz obrazki, lub nawet całe foldery, które mają zostać poddane przemianie.
Na koniec jeszcze jedna, bardzo ważna rzecz. Phatch potrafi zapisywać i odtwarzać procesy. Tak więc, wystarczy że raz stworzymy mu jakiś proces, a później będziesz go tylko otwierać i uruchamiać.
"potrzebowałem coś, co przytnie obrazek do wybranych przeze mnie rozmiarów równocześnie nie zmieniając proporcji obrazka."
Jeśli dobrze rozumiem o co Ci chodzi, to coś takiego da się zrobić przy pomocy IM - wystarczy poczytać trochę dokumentacje
http://www.imagemagick.org/Usage/crop/#crop
Znaki wodne również da się dodawać.
Przetwarzanie wielu obrazków można załatwić za pomocą skryptu składającego się z pętli for z odpowiednim findem.
Tak tylko piszę, żebyś nie myślał, że IM jest do bani ;)
źle się wyraziłem. Miałem na myśli skalowanie obrazki z zachowaniem proporcji. Tak to jest jak się zmusza do pisania
Jendakże Phatch bardzo mi się spodobał. Jest prosty i intuicyjny, ma GUI...
Poza tym ma takie możliwości, których nie widzę na pierwszy rzut oka w IMagicku. Pewnie wszystko się da, ale jeśli mam gotowe dodawanie zaokrąglonych narożników, rotacje, cienie, lustrzane odbicia, perspektywę i wiele innych rzeczy, o których nie chciało mi się pisać, to wcale nie mam ochoty poznawać imagicka. tym bardziej, że phatch ma też dostep do shella (niestety python), wiec teoretycznie ma wiecej niz mi trzeba.
Jedyne co mnie wkurzyło, to przeźroczystość w watermarkach. Przedwczoraj dodawałem z przeźroczystością, dziś z godzinę się męczyłem i nie dodałem. Nie wiem co jest?! Chyba to się stało przez upgrade Ubuntu, a chyba przy okazji wgrało nową wersję Phatcha, bo żaden z wczorajszych batchy dziś nie zadziałał.
Jedyny minus jaki widzę, to, że nie ma API pod PHP.