|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.02.2023, 22:52 | #1 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,608
|
gimp скрипт Script-Fu для уменьшения размера, сжатия изображений в linux в командной строке через терминал на Ubuntu
Процесс преобразования в Ubuntu
Чтобы сохранить Script-Fu и в последсвии запустить для пакетной обработки изображений В домашней папке нашёл папку Gimp - .gimp-2.8 В этой папке нашёл и перешёл в папку scripts Там создал файл batch-resize.scm В котором создал и сохранил скрипт Код:
В статьях по работе со скриптами рекомендуют обновлять подгружённые скрипты, потому запустил Gimp Там перешёл по навигации вкладки Фильтры - Script-Fu - Обновить сценарии В любом случае, этой операцией проверил на работоспособность GIMP, что он есть и он запускается ) Закрыл Gimp Для работы с изображениями, в домашней папке создал папку imageresize В папке imageresize создал папку process поместил туда изображения для обработки - уменьшения размера в 4 раза в длину и ширину, для сжатия с меньшим занимаемым местом на хостинге, расчётное преобразование в 10-20 раз, картинка в 8 мегабайт пережимается до 400 килобайт, в 5 мегабайт до 300 кб. Gimp не только уменьшает размер за счёт уменьшения, но и оптимизирует JPG сжатие, по своим алгоритмам. Создал в папке с изображениями папку out, она упоминается в скрипте - "out/" нужно обратить на это внимание Работать со скриптом буду через командную строку, в Ubuntu она называется Терминал Выполняю команды перехода в каталог с изображениями Код:
Отмечу, что в папке должны быть только изображения, так как для обработки будет передаваться, маска "*.*" Запустил команду пакетной обработки изображений через скрипт, сохранённый в скриптах Gimp Код:
Ошибки для примера, на которые я не обращаю внимания =================== Код:
Код:
Код:
Сейчас произвёл обработку 1*088 объектов, всего 20,4 МБ стало, а было 1*088 объектов, всего 179,1 МБ Следовательно пережаты все изображения с коэффициентом сжатия 20,4÷179,1 = 0,113902848 Что-то около в 9 раз Далее удалил исходные изображения, оставив в папке out только, чтобы не пережать второй раз. Отмечу, что это папка process, а сами исходники лежат в архиве в другом месте, чтобы была возможность, по необходимости, вернуться к исходным файлам изображений. Обработка следующей партии Скопировал изображения в папку process, создал внутри папку out, запустил команду обработки, пронаблюдал за листом ошибок и предупреждений, в конце получил сообщение Код:
2*128 объектов, всего 63,8 МБ, а было 2*128 объектов, всего 619,0 МБ Сжатие чуть меньше чем в 10 раз. В конце удалил обработанные файлы. Обратить внимание, что если в папке окажется не файл изображения, процесс не будет закончен и не все файлы конвертируются, потому и нужно проверять сколько было и сколько стало файлов. Ошибка у меня вылетает такая Код:
Чтобы ошибка не повторялась, удалил затесавшиеся файлы не картинки. Третий запуск Стало 240 объектов, всего 8,4 МБ, было 240 объектов, всего 95,2 МБ Сжатие больше чем в 11 раз, тут были самые большие файлы по 9MB весом, в предыдущих прогонах были 5MB фотографии или меньше. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не могу скачать cpplint через терминал Ubuntu | alex_titanic | Помощь студентам | 9 | 26.06.2022 01:37 |
Управление программой через терминал ubuntu | aank10 | Qt и кроссплатформенное программирование С/С++ | 4 | 06.06.2013 22:13 |
работа в командной строке Linux | Владилена | Помощь студентам | 0 | 10.10.2011 16:55 |
Ubuntu 10.10 и установка программ через терминал. | Даниил_глазко | Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) | 2 | 17.04.2011 21:01 |