Як маніпулювати зображеннями з терміналу

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

Отримайте інформацію із зображення.

identify -ping image.png

Отримайте ще більше інформації.

identify -verbose image.png

Знайте перелік кольорів, використаних на зображенні.

identify -list color image.png

Перетворіть зображення PNG у JPG

convert image.png image.jpg

Перетворіть зображення PNG у JPG із зазначенням якості перетворення.

convert -quality 96 image.png image.jpg

Перетворити всі зображення PNG у JPG, що містяться в папці

mogrify -format png *.jpg

Перетворити всі зображення (* .jpg, * .png) у PDF

convert images*.* archivo.pdf

Змінити розмір зображення

convert -resize 48×48 image.png image-mini.png

Змініть розмір усіх зображень у папці

mogrify -resize 48×48 *.png

Змініть розмір зображення, вказавши ширину

convert -resize 620x image.png image-620.png

Змініть розмір зображення, вказавши його висоту

convert -resize x100 image.png image-100.png

Створіть Favicon

convert -colors 256 -resize 16×16 image.jpg favicon.ico

Перетворення кольорового зображення на чорно-біле

convert -type image.jpg image-noir-blanc.jpg

Додайте прозору рамку розміром 1 піксель навколо зображення

convert -bordercolor Transparent -border 1×1 image.png image-borde.png

Додайте 10-піксельну чорну рамку навколо зображення

convert -bordercolor #000000 -border 10×10 image.png image-borde.png

Створіть негатив зображення

convert -negate image.png image-negate.png

Поверніть зображення вертикально

convert -flip image.png image-inversee.png

Поверніть зображення зліва направо

convert -flop image.png image-inversee.png

Використовуйте графічний інтерфейс ImageMagick

display image.png


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   глорфіндель - сказав він

    ти використовуєш mogrify ?? подивіться на приклад у дописі.
    На здоров’я! Павло.

  2.   РубенГну - сказав він

    Ви скопіювали та вставили?

    Він ставить літеру "х" замість знака "×", який текстовий редактор ставить на сторінці.

    привіт

    Рубен

  3.   Айноарепреса - сказав він

    привіт
    Я тестував це, і це нормально, але команда створити значок для мене не працює, це помилка, яку вона мені видає:
    convert: недійсний аргумент для опції `-resize ': 16 × 16 @ error / convert.c / ConvertImageCommand / 2343.
    що стосується

  4.   катерине - сказав він

    що таке термінал

  5.   джатан - сказав він

    Дуже хороший вибір команд та чіткість їх синтаксису. Раніше у мене було багато проблем при спробі використовувати convert для зміни розміру партії зображень, а тепер, коли я використовую mogrify з тією ж метою, все вийшло нормально. Велике спасибі Пабло.

  6.   Гаррі - сказав він

    Невеликий внесок у цей блискучий пост!

    Щоб перетворити на чорно-біле:

    конвертувати -monochrome image.png image-bw.png

    привіт

    1.    давайте використовувати linux - сказав він

      Дякуємо за внесок!
      Обійми! Павло

  7.   Мойсес Гарніка Раділла - сказав він

    Привіт, я бачив цю інформацію на багатьох веб-сайтах!
    Питання: Як я можу масштабуватися до іншого каталогу?
    Приклад: конвертувати -масштаб 50% -якість 80% * .jpg> масштабування /
    Приклад не працює, як це має бути з папки x у підпапку x / масштабовано?
    Попередньо велике спасибі!

    1.    Бісієве - сказав він

      Я створив для нього сценарій, і модифіковані зберігаються в іншій папці.
      Я розміщую сценарій всередині папки, де є всі зображення, які я хочу змінити, і виконую його з консолі (файл повинен мати дозвіл на виконання). Код, який я збираюся ввести далі, ви вставляєте його у файл і даєте йому потрібне ім'я (я вкладаю .sh в кінці, щоб знати, що це скрипт, просто прочитавши ім'я файлу).

      Я копіюю та вставляю код на випадок, якщо це допоможе вам:

      #! / бін / баш
      ### Змініть розмір зображення із зазначенням ширини та якості
      # convert -quality 86 -змінити 620x image.png image-620.png
      ### Змініть розмір зображення із зазначенням висоти та якості
      # convert -quality 86 -resize x100 image.png image-100.png

      + інформація: https://blog.desdelinux.net/como-manipular-imagenes-desde-el-terminal/

      #
      # ================================================== == ============
      КАТАЛОГ =pwd
      cd $ КАТАЛОГ
      resized_directory = »resized_img»
      $ (mkdir "$ resized_directory" 2> / dev / null)
      TEMP = »img_list» # внутрішній тимчасовий файл
      #
      # список зображень каталогів у тимчасовому файлі
      ls * .png 2> / dev / null >> $ resized_directory / $ TEMP; ls * .PNG 2> / dev / null >> $ resized_directory / $ TEMP;
      ls * .jpg 2> / dev / null >> $ resized_directory / $ TEMP; ls * .JPG 2> / dev / null >> $ resized_directory / $ TEMP;
      ls * .jpeg 2> / dev / null >> $ resized_directory / $ TEMP; ls * .JPEG 2> / dev / null >> $ resized_directory / $ TEMP;
      ls * .gif 2> / dev / null >> $ resized_directory / $ TEMP; ls * .GIF 2> / dev / null >> $ resized_directory / $ TEMP
      #
      #changing images in the directory
      echo -n "Обробка, зачекайте"
      під час читання зображення
      do
      echo -n "."
      convert -quality 90 -змінити 1000x $ image $ resized_directory / $ image
      виконано <$ resized_directory / $ TEMP
      викидати ""
      #
      # видалити тимчасовий файл
      rm $ resized_directory / $ TEMP
      ехо "успішно виконано"

  8.   linux pro - сказав він

    спасибі дуже добре