Відповіді:
Спробуйте скористатися 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, як згадував Sathya, є хороший інтерфейс GUI для полегшення виклику розміру 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
, !
показує на формат співвідношення сторін.
Я не знаю сценаріїв Баша, тому його не так автоматизовано.
Справді має бути кілька посилань на mogrify
інструмент у convert
посібнику. ... Я шукав близько сорока п’яти хвилин, але тільки тоді, коли я не натрапив на інший пост, я зміг почати шукати в правильному напрямку.
На користь інших цей рядок робив саме те, що мені потрібно. Знадобилося близько п’ятдесяти JPG від 2 до 3 мега (у тому самому каталозі) і знизив їх до 80 до 120 кб. І звичайно, вони залишили всі їхні назви «точно» однаковими.
mogrify *.jpg -quality 75 -resize "640x480>" *
І знову на користь інших:
*.jpg
... виконує команду mogrify на всіх JPG у каталозі.
-quality 75
... зменшує якість jpg до 75%, що достатньо для перегляду в Інтернеті.
-resize "640x480>"
... призводить до зміни розміру всіх зображень до 640x480 (помітьте ">" наприкінці. Це робить зображення меншими, але "не" більшими. ... і не забувайте цитати; вони важливі).
*
... і не забувайте цього в самому кінці команди.
Gimp поставляється в пакетному режимі. см пакетний режим GIMP .
Я створив простий у використанні інструмент: Зміна розміру зображення . Він використовує Imagemagick поза сценою. Після встановлення він створить значок на вашому робочому столі Linux. Ви можете перетягнути одне або багато зображень або папку зображень на ньому, і це створить розмір копії кожного зображення. Розмір, який ви хочете, можна легко змінити, клацнувши правою кнопкою миші на піктограму робочого столу.
Якщо ви шукаєте графічний інтерфейс, а не інструмент командного рядка, подивіться на BIR: https://github.com/agronick/BIR