Як змінити розмір файлів зображень у Linux

| | 0 Comments| 7:13 AM
Categories:

Файли зображень можуть бути надзвичайно великими. Навіть якщо ви маєте справу з файлами JPEG, розміри файлів можуть перевищувати 2 і навіть 5 МБ. Якщо у вас є файл RAW, він буде більшим. Якщо вам потрібно зберегти велику бібліотеку зображень на вашому ПК з Linux, вам потрібно навчитися економити місце. Один із найкращих способів заощадити місце для файлів — змінити їх розмір. Якщо у вас є велика бібліотека фотографій, ви можете змінити розмір файлів зображень і зменшити розмір бібліотеки фотографій.

Зміна розміру файлів зображень є складною річчю, оскільки занадто велика їх кількість може дійсно зіпсувати якість. Ось чому в цьому посібнику ми розглянемо, як правильно змінити розмір файлів зображень.

Встановіть ImageMagick

Операційна система Linux має багато незвичайних, унікальних інструментів. Одним з таких інструментів є Convert. Це простий невеликий додаток, що входить до складу ImageMagick, який може маніпулювати файлами зображень за допомогою командного рядка. Щоб отримати доступ до інструмента Convert, вам потрібно встановити ImageMagick. У більшості дистрибутивів Linux це встановлено, але якщо у вас немає, ви можете встановити його досить легко.

Щоб інсталювати пакет ImageMagick, відкрийте вікно терміналу та введіть таку команду, зазначену у вашій ОС.

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

Інші Linux

Як було сказано раніше, ImageMagick є критичним компонентом того, як багато програм відображають і маніпулюють зображеннями в програмах на Linux. При цьому ваш дистрибутив може використовувати альтернативу. Знайдіть у диспетчері пакетів вашої операційної системи «ImageMagick» та встановіть його. Після встановлення у вас буде доступ до Convert.

  Як транслювати онлайн-відео на Linux за допомогою VLC

Стисніть зображення за допомогою Convert

Стиснення зображень часто може погіршити їх якість. Для гарного вигляду менших файлів зображень краще змінити їх розмір. Цей шлях може допомогти зберегти загальну якість зображення, зберігаючи при цьому розмір файлу набагато меншим.

Щоб змінити розмір за допомогою Convert, відкрийте вікно терміналу, знайдіть файл зображення, яким ви хочете маніпулювати, а потім скористайтеся командою CD, щоб перемістити термінал до його розташування. У цьому прикладі файли зображень будуть у /home/username/pictures/.

cd ~/Pictures/

Використовуйте команду convert, щоб змінити розмір. Спробуйте змінити розмір зображення приблизно на 20%, оскільки це дає гарний баланс якості та розміру файлу. Якщо вам потрібно опуститися нижче 20%, спробуйте 25%, 30% або 40%. Майте на увазі, що якість зображення знижується, чим більше його розмір змінюється.

convert -resize 20% image-file-name-original.jpg image-file-name-resized.jpg

Convert працює з різними типами файлів, окрім JPG, використаного в прикладі. Щоб змінити розмір, змініть цю команду за допомогою правильного розширення файлу та нового розміру. Переконайтеся, що ви вказали як оригінальне ім’я файлу, так і ім’я вихідного файлу.

  Як створити ярлики меню програми в Linux

Стиснення кількох зображень

Convert відмінно маніпулює та стискає одне зображення за раз, але стискати зображення одне за одним утомливо. гарна новина полягає в тому, що Convert можна маніпулювати за допомогою bash для аналізу й роботи з кількома файлами зображень одночасно.

Примітка: пакетне стиснення файлів зображень із кількома іменами, швидше за все, не працюватиме. Тільки пакетне конвертування файлів з одним типом файлу.

Пакетне конвертування легко, і воно починається зі створення папки для роботи. Наявність папки для всіх цих файлів зображень, які ви плануєте конвертувати, — це добре, інакше десятки файлів зображень засмітять вашу файлову систему. За допомогою команди mkdir створіть робочий каталог.

mkdir -p ~/Pictures/Convert-Images/

Потім відкрийте програму менеджера файлів, знайдіть новостворену папку та перемістіть усі файли зображень, які ви плануєте конвертувати, до цієї папки. Після переміщення файлів скористайтеся командою CD у терміналі, щоб також переміститися в нову папку.

cd ~/Pictures/Convert-Images/

У терміналі введіть цю команду. Він вкаже Convert змінювати розмір кількох файлів одночасно, створюючи вихідні файли з «зміною розміру» в кінці. У коді команда шукатиме зображення JPG. Якщо ви працюєте з файлами PNG або іншим форматом, який підтримує програма Convert, змініть *.jpg на *.png тощо.

for img in *.jpg; do
  convert -resize 20% "$img" "opt-$img"
done

Зміна розміру сценарію

Команда пакетного зміни розміру є приємною, оскільки вона працює дуже добре. Однак необхідність кожного разу вводити довгу команду та налаштовувати її може дратувати. Щоб скоротити роботу, подумайте про створення сценарію. Відкрийте вікно терміналу та за допомогою сенсорної команди створіть новий файл. Цей файл міститиме код нашого сценарію перетворення.

  Як розділити PDF-файли з терміналу Linux за допомогою PDFtk

touch ~/Pictures/Convert-Images/batch-resize.sh

Далі відкрийте текстовий редактор Nano.

nano ~/Pictures/Convert-Images/batch-resize.sh

Вставте наступний код у файл сценарію:

#!/bin/bash

# Перехоплювати введення користувача для типу файлу.

echo «Введіть розширення файлу для файлів зображень:»

# Зберігайте введені користувачем дані в $files.

читати файли

# Змініть розмір зображень.

для img у *.$файлах; робити
convert -resize 20% “$img” “resize-$img”
зроблено

Збережіть сценарій зміни розміру в Nano, натиснувши Ctrl + O. Закрийте редактор за допомогою Ctrl + X.

Оновіть дозволи сценарію, щоб він працював. Не пропускайте цю частину, інакше сценарій працюватиме некоректно!

chmod +x ~/Pictures/Convert-Images/batch-resize.sh

Щоб використовувати сценарій, помістіть усі файли зображень, які ви хочете конвертувати, в ~/Pictures/Convert-Images/. Потім вставте компакт-диск і виконайте сценарій. Під час введення розширення файлу (наприклад, JPG, PNG тощо) не використовуйте крапку, інакше скрипт зламається!

cd ~/Pictures/Convert-Images/
./batch-resize.sh