Как я могу изменить размер файла изображения?

14

Время от времени я пытаюсь загрузить фотографию на веб-сайт и сталкиваюсь с сообщением:

Загрузка не удалась: размер файла не может превышать n МБ!

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

Я ищу способ изменить размер файла изображения, желательно из терминала. Есть ли способ сделать это?

Exeleration-G
источник
Вы можете попробовать jpegoptimиспользовать командную строку для оптимизации JPEG. В общем, я бы подумал об изменении размера или сжатии или их комбинации, если ваша цель - уменьшить размер файла
dufte
Вы можете использовать другой тип сжатия, .jpg вместо .png. ImageMagick ( imagemagick.org ) имеет как командную строку, так и базовый графический интерфейс
Pit
ImageMagick имеет переключатель, который позволяет установить размер файла ( imagemagick.org/Usage/formats/#jpg_write ), к сожалению, только для jpg(аналогично jpegoptim). Цитата: «Он работает, генерируя много версий изображения JPEG, выполняя бинарный поиск, с настройкой« -quality »качества вывода, пока не достигнет максимально возможного размера файла, указанного без его превышения» (заключительная цитата). Может быть, вы можете написать скрипт, который имитирует это поведение для других форматов.
Марин

Ответы:

22

jpegoptim

Первая установка jpegoptimчерез

sudo apt install jpegoptim

Затем либо попытайтесь оптимизировать размер файла вашего изображения с помощью

jpegoptim /path/to/image.jpg

или если вам нужен определенный размер через

jpegoptim --size=512k /path/to/image.jpg

Это перезапишет образ - чтобы убедиться, что у вас есть резервная копия во время тестирования с jpegoptim.

mogrify (imagemagick)

Изменение размера

Вы могли бы также использовать mogrifyкоторый является частью imagemagick. В следующем примере размеры изображения сокращаются до 50% (поэтому изменение размера - не сжатие)

mogrify -resize 50% /path/to/image.jpg

сжимающий

В следующем примере показано сжатие с помощью mogrify:

mogrify -compress JPEG -quality 50 /path/to/image.jpg

конвертировать (imagemagick)

сжимающий

Сжатие до 80% с использованием конвертирования работает следующим образом:

convert -quality 80% /path/to/source/image.jpg /path/to/result/image.jpg

Конвертировать некоторые с огромным набором опций, чтобы вы могли использовать

convert -strip -interlace Plane -gaussian-blur 0.05 -quality 85% /path/to/source/image.jpg /path/to/result/image.jpg

который должен согласно этому посту :

  • установить качество до 85
  • прогрессивный (сжатый компромисс)
  • очень маленькое гауссово размытие для оптимизации размера (0,05 или 0,5 радиуса) зависит от качества и размера изображения, что заметно оптимизирует размер JPEG.
  • Убрать любой комментарий или exif-тег

trimage

Я цитирую страницу проекта здесь

Trimage - это кроссплатформенный графический интерфейс и интерфейс командной строки для оптимизации файлов изображений для веб-сайтов с использованием optipng, pngcrush, advpng и jpegoptim, в зависимости от типа файла (в настоящее время поддерживаются файлы PNG и JPG).

Вы можете просто установить его через

sudo apt install trimage

После запуска только через имя приложения вы можете увидеть интерфейс

введите описание изображения здесь

Если вам нужна дополнительная информация о Trimage, посетите страницу проекта или запустите, trimage -hчтобы взглянуть на помощь.

Другие инструменты

Существует так же optipng, pngcrush, jpegtranи ряд других инструментов в изображении-размерной оптимизация угла .... но я никогда не использовал их.

Я закончу с некоторыми ссылками

dufte
источник