У меня есть около 500 изображений, и мне нужно изменить размер каждого в 6 различных размеров. Может какие-то там скрипты или софт. Более того, моя платформа Ubuntu .
8 ответов
Пожалуйста, попробуйте использовать 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
Если вы устанавливаете ImageMagick, как упомянул Сатья, есть хороший графический интерфейс для упрощения изменения размера, называемый nautilus-image-converter
.
Чтобы установить его:
sudo apt-get install nautilus-image-converter
Перезапустите nautilus (или выйдите и вернитесь). Это добавит "Изменить размер изображения" и "Повернуть изображения" в контекстное меню, как показано здесь:
Просто выделите все изображения, размер которых вы хотите изменить, щелкните правой кнопкой мыши, выберите « Изменить размер изображения», и вы получите следующий интерфейс:
Используйте опцию "Добавить" и добавьте собственное имя к вашим измененным изображениям. Возможно, вы захотите добавить размер, например 1024x768, ИЛИ вы можете сделать 6 копий ваших изображений в разных папках, а затем использовать опцию изменения размера изображений по месту на изображениях в каждой папке, чтобы перезаписать их новыми изображениями, имеющими разные размеры. Изменение размера изображений на месте будет всегда перезаписывать выбранные изображения, поэтому будьте осторожны, что вы выбираете!
Вы можете использовать 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, так что это не так автоматизировано.
В руководстве по mogrify
действительно должно быть несколько ссылок на инструмент convert
. ... Я искал около сорока пяти минут, но только когда наткнулся на другой пост, я смог начать смотреть в правильном направлении.
В интересах других эта линия сделала именно то, что мне нужно. Потребовалось около пятидесяти от двух до трех килограмм JPG (в том же каталоге) и сбросило их все до 80-120 килобайт. И, конечно же, все их имена остались «совершенно» одинаковыми.
mogrify *.jpg -quality 75 -resize "640x480>" *
И опять же на благо других:
*.jpg
... выполняет команду mogrify для всех файлов JPG в каталоге.-quality 75
... снижает качество JPG до 75%, что достаточно для просмотра в Интернете.-resize "640x480>"
... приводит к изменению размера всех изображений до 640x480 (обратите внимание на «>» в конце. Это делает изображения меньше, но не больше. ... и не забывайте цитаты; это важно.*
... и не забывайте это в самом конце команды.
Gimp поставляется с пакетным режимом. см. GIMP Batch Mode.
Я бы порекомендовал phatch. Его графический интерфейс намного более гибкий, чем у imagemagick и nautilus, и также имеет интерфейс командной строки, если вам нужно написать скрипт. Вы можете установить его с
sudo apt-get install phatch
Я создал простой в использовании инструмент: изменение размера изображения. Он использует imagemagick за сценой. После установки он создаст значок на вашем рабочем столе Linux. Вы можете перетащить одно или несколько изображений или папку изображений на него, и он создаст копию каждого изображения с измененным размером. Нужный размер можно легко изменить, щелкнув правой кнопкой мыши значок на рабочем столе.
Если вы ищете графический интерфейс, а не инструмент командной строки, взгляните на BIR:https://github.com/agronick/BIR