Seryjna zmiana rozmiarów zdjęć

Posted: 14 czerwca 2010 in Uncategorized

Czasami potrzebujemy zmienić rozmiar zdjęć (np. z wakacji). Uciążliwe byłoby przerabianie każdego zdjęcia osobno. W tym celu postanowiłem pomóc sobie używając funkcji resize pakietu imagemagick. Imagemagick można użyć w językach programowania: Ada, C, COM+, C++, Java, Lisp, Neko/haXe, .NET, Pascal, Perl, PHP /serwisy hostujące zdjęcia/, Python, Ruby, Tcl/TK. Imagemagick ma ogromną ilość funkcji do obróbki zdjęć (obracanie, zmienianie rozmiaru, dodawanie tekstu na obrazek – jak np. imageshack.us) Serwis imageshack.us umożliwia upload plików, w tym obrazków. Zmniejsza je, dodaje wielkość rzeczywistą obrazka, tworzy miniaturę, którą możemy zamieścić na forum. Poniżej znajduje się skrypt mojego autorstwa, który może zmniejszać/zwiększać i ustawiać jakość kompresji zdjęcia w zakresie <0; 100> Oczywiście wartością najrozsądniejszą jest wartość z zakresu <75; 100>

Skrypt w powłoce Shell :

#!/bin/bash
if [ "$1" = "" ]; then
echo "Uzycie: $0 x quality";
echo "Example:";
echo "$0 folder_ze_zdjeciami 800x600 85 (max.: 100)";
echo "or: $0 folder_ze_zdjeciami 800 85 (max.: 100)";
else
echo "Pracuje...";
find $1 -type f -exec convert -resize $2 -quality $3 {} {} ;
echo "Zakonczono sukcesem.";
echo "message:Zakończono sukcesem" | zenity --notification --listen;
fi

Jego użycie jest bardzo proste. Sprowadza się do jednej linijki w Terminalu:

lucas@lucas-desktop:~$ ./zmiana_rozmiarow_zdjec Obrazy 1024 85

Katalog ze zdjęciami: Obrazy

Rodzielczość: 1024x … (jeżeli wpiszemy `na sztywno` np. 1024×768 to obraz może być zniekształcony. Wpisanie pierwszej wartości spowoduje, że druga zostanie dopasowana automatycznie)

Jakość kompresji: 85

  • Skrypt ten nadpisuje zdjęcia. Jeżeli napotka plik z rozszerzeniem np. txt – wyświetli komunikat o błędzie i będzie dalej kontynuować swoją pracę.

Dodanie wpisu echo „message:Zakończono sukcesem” | zenity –notification –listen; spowoduje pojawienie się „dymka z informacją o zakończeniu”

 

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s