Odpowiedzi:
Spróbuj użyć ImageMagick . Najpierw zainstaluj:
$ sudo apt-get install imagemagick
Następnie możesz zrobić mały skrypt bash, aby przekonwertować je na 6 rozmiarów:
#!/bin/bash
# List all the formats you wish to have
SIZES="640x480 800x600 1024x768"
# pass directory as first argument to the script
# Use '.' (current directory) if no argument was passed
DIR=${1:-.}
find $DIR -type f | while read file; do
for size in $SIZES; do
# Resize and rename DSC01258.JPG into DSC01258_640x480.JPG, etc.
# Remove the ! after $size if you do not wish to force the format
convert -resize "${size}!" "$file" "${file%.*}_${size}.${file##*.}"
done
done
Zapisz skrypt jako np. convert.sh
I uruchom:
chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default
Edycja: Zredagowałem skrypt, aby nie zastępować plików podczas zmiany rozmiaru, ale zmieniam ich nazwę na np. DSC01258_640x480.JPG i używam konwersji zamiast, mogrify
ponieważ nazwy plików są w rzeczywistości zmieniane. Zdezynfekowałem też zmienne, nie boli.
Przetestowałem skrypt z plikami png i działał dobrze. Powinien działać dla wszystkich rodzajów formatów obrazów obsługiwanych przez ImageMagick:
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
$ ./resize.sh wave_bible_bot/
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
Jeśli zainstalujesz ImageMagick, jak wspomniał Sathya, istnieje przyjemny interfejs użytkownika, który ułatwia zmianę rozmiaru nautilus-image-converter
.
Aby zainstalować:
sudo apt-get install nautilus-image-converter
Uruchom ponownie nautilus (lub wyloguj się i zaloguj ponownie). Dodanie „Zmień rozmiar obrazów” i „Obróć obrazy” do menu kontekstowego, jak pokazano tutaj:
Po prostu zaznacz wszystkie obrazy, których rozmiar chcesz zmienić, kliknij prawym przyciskiem myszy, wybierz Zmień rozmiar obrazów , a otrzymasz ten interfejs:
Użyj opcji „Dołącz” i dodaj niestandardową nazwę do obrazów o zmienionym rozmiarze. Możesz dodać rozmiar, na przykład 1024x768 LUB możesz wykonać 6 kopii swoich obrazów w różnych folderach, a następnie użyć opcji zmiany rozmiaru obrazów na zdjęciach w każdym folderze, aby zastąpić je nowymi obrazami o różnych wymiarach. Zmień rozmiar obrazów w miejscu zawsze nadpisuje wybrane obrazy, więc uważaj, co wybierzesz!
Możesz użyć ImageMagick: Najpierw zainstaluj ImageMagick
sudo apt-get install imagemagick
Następnie przejdź do lokalizacji, w której znajdują się twoje zdjęcia:
cd /path/to/where/images/are/stored
Następnie utwórz katalogi zgodnie z twoim Imagesize
mkdir /path/to/where/images/are/stored/size
Skopiuj obrazy do katalogu, w którym chcesz przekształcić
cp /path/to/where/images/are/stored/* /path/to/where/images/are/stored/size
Następnie zmień katalog na inny katalog
cp /path/to/where/images/are/stored/size
Następnie użyj narzędzia o nazwie mogrify
dostarczonego przez bibliotekę ImageMagick, aby zmienić rozmiar
mogrify -resize 640×480! *.jpg
Spowoduje to zmianę rozmiaru 640*480
, !
aby wymusić format obrazu.
Nie znam skryptów Bash, więc nie jest tak zautomatyzowane.
Naprawdę powinno być kilka odniesień do mogrify
narzędzia w convert
podręczniku. ... Szukałem przez około czterdzieści pięć minut, ale dopiero po natknięciu się na inny post mogłem zacząć szukać we właściwym kierunku.
Z korzyścią dla innych ta linia zrobiła dokładnie to, czego potrzebowałem. Zajęło to około pięćdziesięciu plików JPG o wielkości 2 meg do 3 meg (w tym samym katalogu) i zrzuciło je wszystkie do 80 do 120 kb. I oczywiście pozostawiło wszystkie ich imiona „dokładnie” takie same.
mogrify *.jpg -quality 75 -resize "640x480>" *
I znowu z korzyścią dla innych:
*.jpg
... wykonuje polecenie mogrify na wszystkich plikach JPG w katalogu.
-quality 75
... obniża jakość jpg do 75%, co wystarcza do oglądania online.
-resize "640x480>"
... powoduje zmianę rozmiaru wszystkich obrazów na 640x480 (zwróć uwagę na „>” na końcu. To sprawia, że obrazy są mniejsze, ale „nie” większe. ... i nie zapomnij o cudzysłowach; są one ważne.
*
... i nie zapomnij tego na samym końcu polecenia.
Gimp posiada tryb wsadowy. patrz Tryb wsadowy GIMP .
Stworzyłem proste w użyciu narzędzie: Zmiana rozmiaru obrazu . Używa imagemagick za sceną. Po zainstalowaniu utworzy ikonę na pulpicie Linuksa. Możesz przeciągnąć i upuścić jeden lub wiele obrazów lub folder obrazów, a to utworzy kopię każdego obrazu o zmienionym rozmiarze. Rozmiar, który chcesz, można łatwo zmienić, klikając prawym przyciskiem myszy ikonę na pulpicie.
Jeśli szukasz interfejsu graficznego zamiast narzędzia wiersza poleceń, zapoznaj się z BIR: https://github.com/agronick/BIR