11

У меня есть около 500 изображений, и мне нужно изменить размер каждого в 6 различных размеров. Может какие-то там скрипты или софт. Более того, моя платформа Ubuntu .

8 ответов8

14

Пожалуйста, попробуйте использовать ImageMagick. Сначала установите его:

$ sudo apt-get install imagemagick

Затем вы можете сделать небольшой скрипт bash, чтобы конвертировать их в ваши 6 размеров:

#!/bin/bash

# List all the formats you wish to have
SIZES="640x480 800x600 1024x768"

# pass directory as first argument to the script
# Use '.' (current directory) if no argument was passed
DIR=${1:-.}

find $DIR -type f | while read file; do
   for size in $SIZES; do
      # Resize and rename DSC01258.JPG into DSC01258_640x480.JPG, etc.
      # Remove the ! after $size if you do not wish to force the format
      convert -resize "${size}!" "$file" "${file%.*}_${size}.${file##*.}"
   done
done

Сохраните скрипт как, например, convert.sh и запустите:

chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default

Редактировать: я отредактировал скрипт, чтобы не изменять файлы при изменении их размера, а переименовывать их, например, в DSC01258_640x480.JPG, и используйте преобразование вместо mogrify так как файлы фактически переименованы. Я также немного продезинфицировал переменные, не повредит.

Я протестировал скрипт с png файлами, и он работал нормально. Он должен работать для всех видов форматов изображений, поддерживаемых ImageMagick:

$ file wave_bible_bot/*
  wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced

$ ./resize.sh wave_bible_bot/

$ file wave_bible_bot/*
  wave_bible_bot/wave_bible_bot1_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot1_640x480.png:  PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot1_800x600.png:  PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot1.png:          PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2_640x480.png:  PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2_800x600.png:  PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2.png:          PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3_640x480.png:  PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3_800x600.png:  PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3.png:          PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
8

Если вы устанавливаете ImageMagick, как упомянул Сатья, есть хороший графический интерфейс для упрощения изменения размера, называемый nautilus-image-converter .

Чтобы установить его:

sudo apt-get install nautilus-image-converter

Перезапустите nautilus (или выйдите и вернитесь). Это добавит "Изменить размер изображения" и "Повернуть изображения" в контекстное меню, как показано здесь:

альтернативный текст

Просто выделите все изображения, размер которых вы хотите изменить, щелкните правой кнопкой мыши, выберите « Изменить размер изображения», и вы получите следующий интерфейс:

альтернативный текст

Используйте опцию "Добавить" и добавьте собственное имя к вашим измененным изображениям. Возможно, вы захотите добавить размер, например 1024x768, ИЛИ вы можете сделать 6 копий ваших изображений в разных папках, а затем использовать опцию изменения размера изображений по месту на изображениях в каждой папке, чтобы перезаписать их новыми изображениями, имеющими разные размеры. Изменение размера изображений на месте будет всегда перезаписывать выбранные изображения, поэтому будьте осторожны, что вы выбираете!

5

Вы можете использовать ImageMagick: сначала установите ImageMagick

sudo apt-get install imagemagick

Затем перейдите к месту, где находятся ваши изображения:

cd /path/to/where/images/are/stored

Затем создайте каталоги в соответствии с вашим размером

mkdir /path/to/where/images/are/stored/size

Скопируйте изображения в каталог, куда вы хотите преобразовать

cp /path/to/where/images/are/stored/* /path/to/where/images/are/stored/size

Затем измените каталог на другой каталог

cp /path/to/where/images/are/stored/size

Затем используйте инструмент mogrify предоставляемый библиотекой ImageMagick, для изменения размера.

mogrify -resize 640×480! *.jpg

Это изменит все до 640*480 ! говорит, чтобы заставить соотношение сторон.

Я не знаю скриптов Bash, так что это не так автоматизировано.

2

В руководстве по mogrify действительно должно быть несколько ссылок на инструмент convert . ... Я искал около сорока пяти минут, но только когда наткнулся на другой пост, я смог начать смотреть в правильном направлении.

В интересах других эта линия сделала именно то, что мне нужно. Потребовалось около пятидесяти от двух до трех килограмм JPG (в том же каталоге) и сбросило их все до 80-120 килобайт. И, конечно же, все их имена остались «совершенно» одинаковыми.

mogrify *.jpg -quality 75 -resize "640x480>" *

И опять же на благо других:

  • *.jpg ... выполняет команду mogrify для всех файлов JPG в каталоге.

  • -quality 75 ... снижает качество JPG до 75%, что достаточно для просмотра в Интернете.

  • -resize "640x480>" ... приводит к изменению размера всех изображений до 640x480 (обратите внимание на «>» в конце. Это делает изображения меньше, но не больше. ... и не забывайте цитаты; это важно.

  • * ... и не забывайте это в самом конце команды.

1

Gimp поставляется с пакетным режимом. см. GIMP Batch Mode.

1

Я бы порекомендовал phatch. Его графический интерфейс намного более гибкий, чем у imagemagick и nautilus, и также имеет интерфейс командной строки, если вам нужно написать скрипт. Вы можете установить его с

sudo apt-get install phatch
0

Я создал простой в использовании инструмент: изменение размера изображения. Он использует imagemagick за сценой. После установки он создаст значок на вашем рабочем столе Linux. Вы можете перетащить одно или несколько изображений или папку изображений на него, и он создаст копию каждого изображения с измененным размером. Нужный размер можно легко изменить, щелкнув правой кнопкой мыши значок на рабочем столе.

0

Если вы ищете графический интерфейс, а не инструмент командной строки, взгляните на BIR:https://github.com/agronick/BIR

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .