Изменить размеры изображения linux

Изменение размера изображений в ImageMagick

Если вы когда-либо занимались программным управлением изображениями, вы, вероятно, сталкивались с библиотекой ImageMagick или ее основным ответвлением, GraphicsMagick. По сути, ImageMagick — это наиболее часто используемая программа для изменения размера изображений, их преобразования или иных манипуляций с ними в командной строке. Она предлагает библиотеки для интеграции почти в любой популярный язык программирования, и вы можете использовать ее напрямую при помощи команд mogrify и convert.

Требования

Прежде чем приступить к работе с данным мануалом, на вашем сервере следует настроить аккаунт пользователя с привилегиями sudo. Для работы мы используем сервер Ubuntu 22.04, но вы можете использовать любой другой – инструкции мануала универсальны.

Начало работы

Библиотека ImageMagick очень популярна, но обычно не предустановлена по умолчанию. Однако она широко доступна в менеджерах пакетов для всех платформ. В Ubuntu 22.04 вы можете установить ее с помощью apt.

Сначала обновите источники пакетов:

Затем установите imagemagick:

sudo apt install imagemagick

Если у вас еще нет тестового изображения, на котором можно было бы потренироваться, вы можете загрузить это изображение с помощью curl и сохранить его как image.jpg:

curl https://images.prismic.io/digitalocean/0b619d51-a723-4748-997f-39ed5697a540_intro-to-cloud.jpg?auto=compress,format –output image.jpg

Изменение размера с сохранением соотношения сторон

Чтобы изменить изображение до определенных размеров, используйте команду convert с входным файлом, параметром -resize, а также указав необходимые размеры и имя файла:

convert original.png -resize 100×100 new.png

На самом деле команда не изменит изображение до точно указанных размеров. Она только подгонит размер изображения, чтобы оно помещалось в заданные параметры.

Вы также можете добавить к размерам символ ^, чтобы ImageMagick изменил размер изображения и заполнил размеры, потенциально перекрывая одну сторону.

Тогда одно из двух измерений (ширина или высота) будет масштабироваться точно, а другое будет масштабироваться пропорционально:

convert original.png -resize 100×100^ new.png

Обрезка изображения

Иногда нужно не только изменить размер изображения, но и обрезать его, чтобы ничего не перекрывалось. Хорошим примером такой ситуации являются пользовательские аватаркы. При этом следует избегать растягивания или сжатия изображения профиля пользователя, поэтому приемлемым решением является обрезка его до квадрата:

convert original.png -resize 100×100^ -gravity center -extent 100×100 new.png

Примечание: Чтобы изменить изображение до произвольных размеров, игнорируя соотношение сторон, вы можете добавить символ ! (например, так 100х100!). Но в большинстве случаев вы не захотите это делать, так как это растянет изображение.

Читайте также:  Build linux kernel source

При необходимости вы можете изменить расширение выходного файла, например, с .png на .jpg, и ImageMagick преобразует изображение в указанный формат. ImageMagick можно использовать для этого, даже не изменяя размер и никаким иным образом не изменяя изображение. Обратитесь к документации ImageMagick за полным списком опций.

Изменение размера текущего изображения

Во всех предыдущих примерах мы преобразовывали файл и сохраняли его в новый. Это более безопасный вариант, поскольку он не влияет на исходный файл, однако это не всегда подходит для рабочего процесса.

Если вам нужно отредактировать исходный файл, вы можете вместо convert использовать команду mogrify. Команда mogrify принимает входной файл и меняет его.

Примечание: Настоятельно рекомендуем делать резервные копии любых изображений, которые вы редактируете, на случай, если вас не устроят результаты.

К примеру, так выглядит предыдущая команда с mogrify:

mogrify -resize 100×100 original.png

Изменение размера нескольких файлов

Mogrify, в отличие от convert, может обрабатывать сразу целый каталог файлов. В целом обе команды ImageMagick используют схожий синтаксис, но convert работает только с одним вводом и выводом.

Чтобы отредактировать весь каталог изображений и изменить их размер одинаковым образом, вы можете передать команде mogrify подстановочный знак *:

mogrify -resize 100×100! ./some/path/*.png

mogrify -resize 100×100^ -gravity center -extent 100×100 *.png

Заключение

Изменение размера изображений из командной строки — это лишь начало, верхушка айсберга. ImageMagick поддерживает множество дополнительных опций, которые позволяют оптимизировать изображения, изменять их цвета и преобразовывать их в другие форматы.

Источник

Изменение размера изображения с помощью контекстного меню в Ubuntu и других дистрибутивах Linux

Изменение размера изображения с помощью контекстного меню в Ubuntu и других дистрибутивах Linux

В этом материале будет дан небольшой совет, который поможет вам настроить быстрое изменение размеров изображений прямо из контекстного меню, вызываемого щелчком правой кнопки мыши.

Как же изменить размер изображения на Linux? Использовать для этого Gimp или же Shutter? А может быть терминальную утилиту ImageMagick?

Но зачем заморачиваться с запуском целого приложения ради простого изменения размера, когда есть отличный плагин для Nautilus, который позволяет сделать это в два счета.

Что такое Nautilus? Nautilus — файловый менеджер, используемый GNOME и несколькими другими средами рабочего стола. Эквивалент Windows Explorer.

Существует несколько плагинов для Nautilus, которые расширяют его возможности. Они не установлены по умолчанию, поскольку они предназначены для конкретных случаев. Пользователи могут установить их в любой удобный момент.

Один из таких плагинов для Nautilus называется Image Manipulator. Он позволяет поворачивать или изменять размер изображений, щелкнув правой кнопкой мыши на изображении и выбрав вариант поворота или изменения размера в контекстном меню.

Быстрое изменение размеров изображений с помощью контекстного меню в Linux

Перед установкой настоятельно рекомендуем удостовериться, что файловый менеджер Nautilus используется в вашей системе. Для этого вводим команду:

Читайте также:  Alma linux установка пакетов

resize-image-nautilus-4

Если вы получите примерно такой вывод (номера могут отличаться), значит все хорошо.

Для работы плагина в системе должен быть еще один компонент. Не теряя времени, установим его:

sudo apt install imagemagick

И вот теперь пришло время для установки самого плагина, используем такую команду:

sudo apt install nautilus-image-converter

resize-image-nautilus-3

Если вы используете другие дистрибутивы Linux (Fedora, Arch и т.д), то вы должны воспользоваться аналогичной командой для установки данного плагина.

Сразу после окончания установки необходимо перезапустить Nautilus:

resize-image-nautilus-1

Теперь при вызове контекстного меню правой кнопкой мыши на изображении вы будете видеть новые опции изменения размера и поворота:

resize-image-nautilus-2

Вы можете выбрать параметры, чтобы быстро изменить размер изображения прямо из контекстного меню. Плагин представит вам несколько вариантов изменения размера изображения. Но, стоит отметить, он не сохраняет соотношение сторон.

Для удаления плагина используем такую команду:

sudo apt remove nautilus-image-converter

И потом точно также перезапускаем Nautilus.

Источник

ImageMagick или как сжимать изображения в ОС Linux

@uamedwed

Очень долгое время я пользовался программой RIOT, но на тот период я плотно сидел на операционных системах семейства Windows. И вот на протяжении уже нескольких лет я использую ОС Ubuntu. Долгое время я работал с RIOT установленным через wine. С сегодняшнего дня я решил использовать меньше костылей и заняться вплотную изучением команд терминала Linux. На сайте программы RIOT есть ссылка на скачивание плагина для популярного редактора Gimp. Но запускать софт такого размера ради сжатия одного изображения мне крайне не хочется.

ImageMagick или как сжимать изображения в ОС Linux

Поэтому сегодня речь пойдет об утилите ImageMagick.

ImageMagick это огромный бесплатный многоплатформенный комплекс утилит, который поддерживается многими языками программирования, и существует как отдельный комплекс. Думаю тем, кто как-то связан с веб-разработкой, с ImageMagick знаком не понаслышке.
Конечно может, кому то покажется совершенно неудобным работать с изображениям с помощью консольной утилиты. Но я в любом случае советую попробовать.

Установка ImageMagick

На данный момент моей операционной системой является Linux Ubuntu 14.04, поэтому и примеры буду приводить именно из нее. Итак перейдем к установке ImageMagick в Linux Ubuntu 14.04:
Перед тем как устанавливать этот пакет, проверьте, возможно он у вас уже есть, и какая у него версия:

Это команда проверит какая версия пакета ImageMagick установлена в вашей системе.
У меня этот пакет оказался установленным. Для тех у кого этого пакета нет, выполните следующую команду(собственно сама установка):

sudo apt-get install imagemagick

sudo apt-get install imagemagick

Команды для работы ImageMagick в терминале

Команд и утилит входящих в состав ImageMagick очень много, и описывать все я здесь не буду, так как не вижу в этом особого смысла. Ведь все есть в официальной документации, которая лежит здесь. Я покажу лишь те которые использую сам.

convert – изменение размера изображения

convert input_image> commands> out_image>

input_image – имя файла изображения, которое нужно взять за основу для работы
commands – дополнительные команды/параметры
out_image – имя изображения в которое будут сохранены все преобразования исходного

Что бы просто конвертировать изображение одного формата в другой формат, нужно сделать следующее:

-quality

Уровень сжатия изображения можно указать с помощью параметра -quality:

convert img.jpg -quality 75 img1.jpg

convert img.jpg -quality 75 img1.jpg

Вы можете указать здесь в качестве значения цифры от 1 до 100. По умолчанию используется значение 92. Я обычно для блога сжимаю с параметром 75.

-resize

Для того что бы изменить размер изображения нужно воспользоваться параметром -resize:

convert img.jpg -resize 100×150 img1.jpg

convert img.jpg -resize 100×150 img1.jpg

Здесь есть несколько схем подобного сжатия:
-resize – изменение изображения и его размеров в пикселях, с сохранением соотношения сторон

convert img.jpg -resize 100×150 img1.jpg

convert img.jpg -resize 100×150 img1.jpg

Сжатие изображения по ширине до 100px, при этом высота будет сжата пропорционально

convert img.jpg -resize 100 img1.jpg

convert img.jpg -resize 100 img1.jpg

Аналогичное предыдущему, только здесь изображение сжимается по высоте до 150px

convert img.jpg -resize ×150 img1.jpg

convert img.jpg -resize ×150 img1.jpg

-resize – изменение размеров изображения без сохранения соотношения сторон

convert img.jpg -resize 100×150! img1.jpg

convert img.jpg -resize 100×150! img1.jpg

-resize – изменение размера изображения в %(процентах)

convert img.jpg -resize 20% img1.jpg

convert img.jpg -resize 20% img1.jpg

-rotate

Для того что бы повернуть изображение существует параметр -rotate, где значение указывается в градусах:

convert img.jpg -rotate 20 img1.jpg

convert img.jpg -rotate 20 img1.jpg

Группировка команд

Самое удобное что есть – это группировка команд. То есть по сути можно сделать следующее(изменить размер, повернуть на 120 градусов, и изменить качество, еще и поменять формат с png на jpg):

convert img.png -resize 100×400 -rotate 120 -quality 75 img.jpg

convert img.png -resize 100×400 -rotate 120 -quality 75 img.jpg

identify – проверка информации о изображении

Сокращенная информация о изображении:

А та же команда с параметром -verbose выведет полную информацию о изображении.

Пакетная обработка изображений с помощью ImageMagick

Я сам ей практически и не пользуюсь. Мне чаще все таки нужно работать с отдельными изображениями. Следующая команда обработает все изображения с разрешением .png повернет их на 180 градусов и запишет в файлы с новым именем rotated-предыдущее имя файла.

for file in *.png; do convert $file -rotate 180 rotated-$file; done

for file in *.png; do convert $file -rotate 180 rotated-$file; done

В общем утилита ImageMagick очень удобна и хороша в работе. А главное она сжимает практически без потерь качества, что немаловажно. Конечно она не подойдет для тех кто терпеть не может консоль. Но я для других – очень даже ничего:)
Пользуйтесь!;)

Источник

Оцените статью
Adblock
detector