Strona 1 z 1
[+] Convert i masowa zmiana wielkości plików graficznych
: 20 października 2008, 19:44
autor: darborc
Witam.
Zacząłem dziś tworzyć galerię internetową i poszukuję jakiegoś sposobu żeby masowo zmieniać rozmiary plików. W internecie jest dużo na temat zmiany rozmiarów za pomocą php, ale ja bym chciał to robić inaczej. W necie wyszperałem że najlepiej to robić właśnie za pomocą convert
Z tym że zmiana kilkuset plików pojedynczo niezbyt mnie raduje. Czy zna ktoś jakiś sposób automatyzacji? Próbowałem napisać jakiś skrypt ale jakoś nie za bardzo mi wychodzi, a google jakoś nie chce pomóc :-)
: 20 października 2008, 19:48
autor: fnmirk
: 20 października 2008, 19:56
autor: genobis
No skryptem to tak, jak pokazujesz, prosta pętelka w bashu (tu jest bardzo przystępnie o pętelkach i innych zwierzach, przede wszystkim polecam część o pętli for:
http://ultra.ap.krakow.pl/~bar/kursbasha/main.html ). A jak jesteś klikaczem, to np. GwenView+kipi plugins pozwala na przeprowadzanie takich operacji na wieeelu plikach.
: 20 października 2008, 19:58
autor: darborc
Wiem że convert jest częścią pakietu imagemagik, już mam go zainstalowanego. Moje pytanie odnosi się raczej do tego jak by wyglądała składnia polecenia convert (ew. skrypt) by przetworzyć jednocześnie wiele plików, bo to co napisałem wcześniej przetwarza tylko jeden plik.
genobis pisze:No skryptem to tak, jak pokazujesz, prosta pętelka w bashu.
Faktycznie problem tkwił w złym zrozumieniu składni tego polecenia :-)
Dla leniwych w przyszłości skrypt który rozwiązuje problem i zapisuje wynik do osobnego katalogu:
: 20 października 2008, 20:17
autor: fnmirk
Zapomniałem o tym że convert należy do programu imagemagick.
Ale masz jest na forum:
http://debian.linux.pl/viewtopic.php?p=8871#8871
: 09 listopada 2008, 13:30
autor: Utumno
Ja skleciłem taki skrypt:
Kod: Zaznacz cały
#!/bin/sh
SIZE=800
mkdir ./thumbnails${SIZE}
until [ -z "$1" ]
do
convert -strip -geometry ${SIZE}x${SIZE} -quality 80 "$1" ./thumbnails${SIZE}/${SIZE}_"$1".jpg
shift
done
Nazwałem go 'convert800' (od rozmiaru) i umieściłem w ~/.gnome2/nautilus-scripts/.
Analogicznie zrobiłem jeszcze 'convert1024' i 'convert100', które różnią się oczywiście tylko wartością zmiennej 'SIZE'.
W ten sposób możesz robić masowa konwersje plików bezpośrednio spod Nautilusa: zaznacz grupę obrazków, prawy myszy i z menu wybierz Scripts->convert800. Stworzy Ci katalog 'thumbnalis800', a w nim zmniejszone pliki.
Poprawnie radzi sobie ze spacjami w nazwach plików.