Pliki graficzne mogą zajmować znaczną ilość miejsca na dysku. Nawet popularne formaty, takie jak JPEG, mogą mieć rozmiar przekraczający 2 lub 5 MB. Pliki w formacie RAW są jeszcze większe. Jeżeli planujesz przechowywać rozbudowaną bibliotekę zdjęć na komputerze z systemem Linux, warto nauczyć się efektywnie zarządzać przestrzenią dyskową. Jednym z najskuteczniejszych sposobów na oszczędność miejsca jest zmiana rozmiaru plików. Zmniejszając rozmiar zdjęć, możesz znacznie ograniczyć objętość całej biblioteki.
Jednakże, proces zmiany rozmiaru plików graficznych może być wyzwaniem, gdyż zbyt duża redukcja może prowadzić do utraty jakości. W niniejszym przewodniku przedstawimy, jak skutecznie zmieniać rozmiar obrazów.
Instalacja ImageMagick
System Linux oferuje wiele unikalnych narzędzi, w tym program Convert. To niewielka aplikacja, która jest częścią pakietu ImageMagick i pozwala na manipulację plikami graficznymi za pomocą wiersza poleceń. Aby korzystać z narzędzia Convert, musisz zainstalować ImageMagick. Większość dystrybucji Linuksa ma go preinstalowanego, ale jeśli go nie masz, łatwo go zainstalujesz.
Aby zainstalować ImageMagick, otwórz terminal i wprowadź poniższe polecenia, dostosowane do swojej dystrybucji systemu operacyjnego.
Ubuntu
sudo apt install imagemagick
Debian
sudo apt-get install imagemagick
Arch Linux
sudo pacman -S imagemagick
Fedora
sudo dnf install imagemagick
OpenSUSE
sudo zypper install imagemagick
Inne dystrybucje Linuxa
Jak już wspomniano, ImageMagick jest kluczowym komponentem dla wielu aplikacji graficznych w Linuxie. W związku z tym, możesz mieć alternatywne narzędzie w swojej dystrybucji. Wyszukaj „ImageMagick” w menedżerze pakietów i zainstaluj je. Po instalacji zyskasz dostęp do narzędzia Convert.
Kompresja obrazów z konwersją
Kompresja plików graficznych często prowadzi do obniżenia ich jakości. Aby uzyskać zadowalające, mniejsze pliki graficzne, najlepiej jest zmieniać ich rozmiar. Ta metoda pozwala zachować lepszą jakość obrazu przy jednoczesnym zmniejszeniu rozmiaru pliku.
Aby zmienić rozmiar pliku za pomocą Convert, otwórz terminal, przejdź do lokalizacji pliku obrazu, który chcesz przetworzyć, używając polecenia CD. W naszym przykładzie obrazy znajdują się w katalogu /home/username/pictures/.
cd ~/Pictures/
Użyj polecenia konwertuj, aby zmienić rozmiar pliku. Zalecamy zmniejszenie obrazu o około 20%, co pozwala na osiągnięcie dobrej równowagi między jakością a rozmiarem pliku. Jeśli chcesz zmniejszyć go bardziej, możesz spróbować wartości 25%, 30% lub 40%. Warto pamiętać, że jakość obrazu spada w miarę zmniejszania jego rozmiaru.
convert -resize 20% image-file-name-original.jpg image-file-name-resized.jpg
Narzędzie Convert obsługuje różne formaty plików, nie tylko JPG używany w przykładzie. Aby zmienić rozmiar innego formatu, po prostu zmień rozszerzenie pliku i dostosuj nowy rozmiar. Upewnij się, że zarówno oryginalna, jak i wyjściowa nazwa pliku są prawidłowo określone.
Kompresja wielu obrazów
Narzędzie Convert świetnie nadaje się do przetwarzania pojedynczych plików, ale kompresowanie obrazów jeden po drugim może być czasochłonne. Na szczęście, Convert pozwala na przetwarzanie wielu plików graficznych jednocześnie przy użyciu skryptów bash.
Uwaga: kompresja wsadowa z wieloma różnymi formatami plików może nie zadziałać. Proces wsadowy działa tylko dla plików tego samego typu.
Rozpocznij od stworzenia nowego katalogu do pracy. Umożliwi to uporządkowanie plików graficznych, które zamierzasz przetworzyć, a unikasz bałaganu w systemie plików. Użyj polecenia mkdir, aby utworzyć folder.
mkdir -p ~/Pictures/Convert-Images/
Otwórz menedżer plików, znajdź nowo utworzony folder i przenieś do niego wszystkie obrazy, które chcesz przekonwertować. Po przeniesieniu plików użyj polecenia CD w terminalu, aby przejść do nowego folderu.
cd ~/Pictures/Convert-Images/
W terminalu wpisz poniższe polecenie, które pozwoli na zmianę rozmiaru wielu plików jednocześnie, tworząc wyjściowe pliki z prefiksem „opt-” w nazwie. W tym przypadku polecenie dotyczy obrazów JPG. Jeśli używasz innych formatów, zmień * .jpg na * .png lub inny odpowiedni format.
for img in *.jpg; do
convert -resize 20% "$img" "opt-$img"
done
Skrypt do zmiany rozmiaru
Użycie powyższego polecenia do wsadowej zmiany rozmiaru jest efektywne, jednak ciągłe wpisywanie długich komend może być uciążliwe. Aby uprościć ten proces, rozważ stworzenie skryptu. W terminalu użyj polecenia touch, aby utworzyć nowy plik, który będzie zawierał kod do konwersji.
touch ~/Pictures/Convert-Images/batch-resize.sh
Następnie otwórz edytor tekstu, na przykład Nano.
nano ~/Pictures/Convert-Images/batch-resize.sh
Wklej poniższy kod do pliku skryptu:
#! /bin/bash # Złap dane wejściowe użytkownika dla typu pliku. echo „Wprowadź rozszerzenie pliku dla plików graficznych:” # Przechowuj dane wejściowe użytkownika w zmiennej files. read files # Zmień rozmiar obrazów. for img in *.$files; do convert -resize 20% "$img" "resize-$img" done
Zapisz zmiany w skrypcie, używając Ctrl + O, a następnie zamknij edytor z Ctrl + X.
Aby skrypt działał, musisz zaktualizować jego uprawnienia. To ważny krok, ponieważ bez niego skrypt nie będzie działał poprawnie!
chmod +x ~/Pictures/Convert-Images/batch-resize.sh
Aby skorzystać ze skryptu, przenieś wszystkie obrazy, które chcesz przekonwertować, do katalogu ~/Pictures/Convert-Images/. Następnie uruchom terminal, przejdź do tego folderu i odpal skrypt. Pamiętaj, aby podając rozszerzenie pliku (np. JPG, PNG itp.) nie używać kropki, ponieważ spowoduje to błąd skryptu!
cd ~/Pictures/Convert-Images/
./batch-resize.sh