ImageMagick Batch Conwert

ImageMagick Batch Conwert
Zazwyczaj możemy napisać jedną wiersz kodu, aby przekształcić obraz, czy to przycinanie, rozmiar itp. Z ImageMagick, wszystko jest dość proste. Załóżmy jednak, że dla przypadków, w których mieliśmy 1000 zdjęć, które trzeba było zmodyfikować, co robimy? Wpisz polecenie 1000 razy? To byłoby głupie, prawda? To wtedy używamy konwersji wsadowych. Oznacza to, że możemy być mądrzy w zakresie transformacji 1000 i napisać najwyżej kilka wierszy kodu, aby zapewnić, że proces jest wykonywany płynnie i łatwo. Zasadniczo nie musimy pisać 1000 poleceń. W tym samouczku nauczymy się, jak przeliczyć obrazy w ImageMagick.

Instalowanie ImageMagick

Będziemy potrzebować ImageMagick do tego procesu. Najpierw zainstalujmy go za pomocą następującej składni:

sudo apt-get instal instal ImageMagick

Mogrify

Załóżmy, że mamy 1000 zdjęć, które wszystkie mają „.rozszerzenie PNG ”. Załóżmy, że dalej chcemy przekształcić je wszystkie w „.plik jpg ”.

Teraz, gdy skończyliśmy, możemy zacząć pisać kod.

Mogrify -Format JPG *.png

Tutaj mówimy im ImageMagick, że jest wiele „.obrazy png ”do użycia każdego z nich z„.rozszerzenie PNG ”. Następnie informujemy ImageMagick z przełącznikiem formatu, aby przekształcić obraz w obraz JPG. Tutaj przełącznik formatu zapobiega zastąpieniu obrazów. Zazwyczaj rozróżnienie między Mogrify i Konwertu. Ale tak nie jest, gdy używamy przełącznika formatu (wyjątek od reguły).

Wielką częścią tego małego kawałka kodu jest to, że będzie on konwertował tyle zdjęć, ile chcesz. I to jest jedna linia! Jednak w tym przypadku zapisujemy wszystkie nowe pliki w tym samym folderze co stare pliki.

Załóżmy teraz, że chcę je uratować w zupełnie innym katalogu. Mamy kilka *.JPG i zapisujemy je w nowym folderze o nazwie NewFolder. Załóżmy ponadto, że oryginalne pliki znajdują się w folderze pobierania.

(Chodzi o to, że wszystkie oryginalne pliki znajdują się w folderze pobierania, a my tworzymy folder o nazwie NewFolder, aby zrzucić transformowane zdjęcia.)

Pobieranie CD
Mkdir Newfolder
Mogrify -Format PNG -Quality 100 -path ~/Downloads/Newfolder *.jpg

Więc co się tutaj dzieje? Zastosujemy polecenie Mogrify i dodajemy nowy przełącznik o nazwie ścieżka. Przełącznik ścieżki zapewnia, że ​​nowe obrazy zostały zrzucone w określonym folderze (NewFolder).

Załóżmy teraz, że mamy kombinację obrazów JPG i obrazów PNG i chcemy przekształcić je w JPEG.

Mogrify -Format JPEG *

W takim przypadku, zamiast określać, które obrazy chcemy przekonwertować, po prostu umieszczamy gwiazdę. Gwiazda oznacza przekonwertować wszystko.

Jeśli są tam foldery, to w pewnym sensie awaria, więc użyj również przełącznika ścieżki.

Konwertować

Teraz napiszmy coś nieco innego za pomocą polecenia konwertowania zamiast polecenia Mogrify (polecenie Mogrify zastępuje oryginalne pliki).

Konwertuj *.PNG -Size 1234x1234 Zmiana zmiany.png

Co tutaj zauważyłeś? Zrobiliśmy konwersję partii za pomocą polecenia konwertowania. Aby zmienić nazwę pliku, używamy terminu „Zmiana zmiany.PNG ”. Jaki jest ten znak „%d” w imieniu? Reszta nazwy ma sens, prawda? A „%d” oznacza ich liczbę za pomocą 0, 1, 2 itp.

Kolejny szybki przykład:

Konwertuj *.PNG -Size 1234x1234 Zmiana zmiany rozmiaru -%03d.png

Co oznacza „%03d”? Spójrz na wyjście. Tym razem zmienia ją o nazwa 3 cyfr. Teraz zamiast zobaczyć rozmiar-0.PNG, widzimy rozmiar-000.png.

Pętle

Możesz także napisać pętle.

dla F in *.jpg; Konwertuj „$ f” -Quality 85 „$ f”.png; zrobione

W tym przypadku nadal używamy jednego liniowca, ale jest to nieco bardziej złożone. W takim przypadku mówimy, że dla każdego obrazu o nazwie F konwertujemy obraz i zmieniamy go na „$ f.PNG ”. Jak mogłeś zauważyć, jeśli obraz nazywa się „Image1.jpg ”, zmienia go na„ Image1.jpg.PNG ”. To polecenie jest trochę wadliwe, więc spójrzmy na inne sposoby zmiany nazwy obrazu.

Wcześniej używaliśmy polecenia Mogrify. Nie zastąpiło obrazów z powodu przełącznika formatu. Ale gdyby nie było tego przełącznika formatu, na przykład podczas zmiany zmiany rozmiaru, zastąpiłby plik. A co jeśli chcemy użyć polecenia konwertowania?

dla pliku w *.png; konwertować $ plik -Size 1275x1222 Zmiany -plik $; zrobione

Spróbujmy zrozumieć to polecenie.

Pierwsza część polecenia jest następująca:

dla pliku w *.png;

* *.PNG odnosi się do wszystkich plików PNG. Oznacza to „dla dowolnego pojedynczego pliku w stosie plików”.

Komenda podstawowa jest następująca:

Konwertuj $ plik -Size 1275x1222 Zmiany -$ plik

Ta część po prostu przyjmuje plik $ (plik) i zmienia rozmiar za pomocą przełącznika rozmiaru, a następnie zjeżdża na plik o nazwie Plik rozmiarowy-$.

Następnie kończymy gotowe. Ta część jest wystarczająco oczywista.

Wystarczająco łatwy, prawda?

Wniosek

Przekształcenie partii jest bardzo użytecznym procesem. Uniemożliwia nam ponowne dostosowanie dowództwa miliona razy. W ImageMagick najprostszym sposobem na przemianie miliona obrazów jest użycie polecenia Mogrify. Jeśli jednak nie jest używany w połączeniu z przełącznikiem formatu, zapisuje oryginalny obraz. Na przykład, jeśli użyjesz polecenia Mogrify, aby przeliczyć grupę zdjęć, aby je zmienić, zastępuje oryginalne obrazy. Czasami może nie być tym, czego chcesz, aw takich przypadkach możesz skorzystać z pisania małego scenariusza. Sam skrypt jest jedną wkładką i możesz użyć polecenia konwertowania, jeśli chcesz, więc to dobra część. Ale jest nieco bardziej złożony niż najprostsze z konwersji wsadowych za pomocą polecenia Mogrify. Tak czy inaczej, chodzi o to, że nie musisz już przekształcać jednego zdjęcia na raz. Możesz kontynuować konwersje partii, które mogą za chwilę konwertować tysiące zdjęć.