Jak změnit velikost souborů obrázků v systému Linux
Soubory s obrázky mohou mít nečekaně velkou velikost. I když pracujete se soubory JPEG, jejich objem může snadno překročit 2, a dokonce i 5 MB. Pokud se jedná o soubor RAW, bude jeho velikost ještě vyšší. Máte-li na svém počítači s Linuxem rozsáhlou sbírku snímků, je klíčové naučit se, jak efektivně šetřit diskový prostor. Jednou z nejlepších strategií, jak zmenšit objem uložených dat, je změna rozměrů obrázků. Pokud máte velkou fotogalerii, úpravou velikosti obrázkových souborů můžete výrazně zredukovat celkový prostor, který tato galerie zabírá.
Změna velikosti obrazových souborů vyžaduje citlivý přístup, protože příliš radikální zásah může vést ke zhoršení jejich kvality. Proto se v tomto návodu podíváme na to, jak správně a efektivně upravovat rozměry obrázků, aniž by došlo k jejich poškození.
Instalace ImageMagick
Operační systém Linux nabízí řadu unikátních a praktických nástrojů. Jedním z nich je Convert – jednoduchá, ale výkonná aplikace, která je součástí balíčku ImageMagick. Tento nástroj umožňuje manipulovat s obrázkovými soubory přímo z příkazového řádku. Pro přístup k nástroji Convert je nutné nainstalovat ImageMagick. Většina distribucí Linuxu má tento balíček již předinstalovaný, ale pokud ne, jeho instalace je snadná.
Chcete-li nainstalovat balíček ImageMagick, otevřete terminál a zadejte příkaz, který odpovídá vaší distribuci Linuxu:
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
Ostatní distribuce Linuxu
Jak již bylo zmíněno, ImageMagick je klíčovou součástí mnoha programů pro zobrazování a manipulaci s obrázky v Linuxu. Je možné, že vaše distribuce používá alternativní řešení. Ve správci balíčků vašeho systému vyhledejte "ImageMagick" a nainstalujte jej. Po instalaci budete mít přístup k nástroji Convert.
Komprese obrázků pomocí Convert
Samotná komprese obrázků může vést ke snížení jejich kvality. Pro dosažení menší velikosti souboru bez výrazného zhoršení kvality je nejlepší kombinovat kompresi se změnou rozměrů. Tímto způsobem můžete zachovat přijatelnou kvalitu obrazu při výrazném snížení jeho datového objemu.
Chcete-li změnit velikost obrázku pomocí Convert, otevřete terminál, přejděte do adresáře s obrázkem, který chcete upravit, pomocí příkazu cd. V tomto příkladu budeme pracovat se soubory umístěnými v /home/uzivatel/obrazky/.
cd ~/Obrazky/
Pro změnu velikosti použijte příkaz convert. Doporučuje se začít se změnou velikosti o 20 %, což obvykle představuje dobrý kompromis mezi kvalitou a velikostí souboru. Pokud potřebujete dosáhnout menší velikosti, můžete zkusit hodnoty 25 %, 30 % nebo 40 %. Pamatujte, že s každou další redukcí rozměrů se snižuje kvalita obrazu.
convert -resize 20% puvodni-nazev-souboru.jpg zmenseny-nazev-souboru.jpg
Nástroj Convert podporuje různé typy souborů, nejen formát JPG uvedený v příkladu. Pro změnu velikosti upravte tento příkaz tak, aby obsahoval správnou příponu souboru a požadovanou velikost. Nezapomeňte zadat jak původní název souboru, tak název nového souboru.
Hromadná komprese obrázků
Convert je skvělý nástroj pro zpracování jednotlivých obrázků, ale komprese souborů jeden po druhém může být časově náročná. Dobrou zprávou je, že Convert lze kombinovat se skriptováním v Bash, což umožňuje zpracovat více souborů najednou.
Upozornění: Hromadná komprese souborů s různými názvy pravděpodobně nebude fungovat. Pro hromadné zpracování používejte soubory stejného typu.
Hromadná konverze je snadná. Nejprve vytvořte složku, ve které budete pracovat. Je vhodné mít samostatnou složku pro všechny obrázky, které chcete převést, abyste předešli zahlcení adresářů. Vytvořte pracovní adresář pomocí příkazu mkdir.
mkdir -p ~/Obrazky/Prevod-Obrazku/
Poté otevřete správce souborů, najděte nově vytvořenou složku a přesuňte do ní všechny obrázky, které chcete konvertovat. Po přesunutí souborů přejděte do této složky i v terminálu pomocí příkazu cd.
cd ~/Obrazky/Prevod-Obrazku/
V terminálu zadejte tento příkaz. Řekne nástroji Convert, aby změnil velikost více souborů najednou a vytvořil výstupní soubory s koncovkou "-zmenseny". V tomto příkladu příkaz hledá soubory JPG. Pokud pracujete s formátem PNG nebo jiným, změňte *.jpg na *.png atd.
for img in *.jpg; do convert -resize 20% "$img" "opt-$img" done
Skript pro změnu velikosti
Příkaz pro hromadnou změnu velikosti je užitečný, ale může být otravné ho pokaždé psát a upravovat. Pro usnadnění práce můžete vytvořit skript. Otevřete terminál a pomocí příkazu touch vytvořte nový soubor. Tento soubor bude obsahovat kód pro náš skript.

touch ~/Obrazky/Prevod-Obrazku/hromadna-zmena-velikosti.sh
Dále otevřete textový editor Nano.
nano ~/Obrazky/Prevod-Obrazku/hromadna-zmena-velikosti.sh
Do skriptu vložte následující kód:
#!/bin/bash # Získání vstupu od uživatele pro typ souboru. echo "Zadejte příponu obrázkových souborů:" # Uložení vstupu do proměnné $files. read files # Změna velikosti obrázků. for img in *.$files; do convert -resize 20% "$img" "zmenseny-$img" done
Uložte skript v Nano stisknutím Ctrl + O. Zavřete editor pomocí Ctrl + X.
Aktualizujte oprávnění skriptu, aby se mohl spustit. Tuto část nepřeskakujte, jinak skript nebude fungovat správně!
chmod +x ~/Obrazky/Prevod-Obrazku/hromadna-zmena-velikosti.sh
Pro použití skriptu umístěte všechny obrázky, které chcete převést, do složky ~/Obrazky/Prevod-Obrazku/. Poté přejděte do této složky v terminálu a spusťte skript. Při zadávání přípony souboru (jako JPG, PNG atd.) nepoužívejte tečku, jinak se skript přeruší!
cd ~/Obrazky/Prevod-Obrazku/ ./hromadna-zmena-velikosti.sh