Skip to content

Bobsans/image-optimizer

Repository files navigation

Build Status Coverage Status PyPI version

image_optimizer

Оптимизатор изображений на базе PIL.

Установка

pip install image_optimizer

Параметры коммандной строки

> image_optimizer source -r -t THREADS
    source                # Файл или директория для оптимизации
    -r                    # Рекурсивный поиск изображений в поддиректориях
    -t THREADS            # Установка количества потоков
    -l                    # Отключение вывода статистики
    -s RESIZE_PATTERN     # Ресайзинг изображений по шаблону 

Использование

# Оптимизация файла image.jpg
> image_optimizer C:\image.jpg

# Оптимизация изображений в директории images
> image_optimizer C:\images

# Оптимизация изображений в директории images и вложенных директориях
> image_optimizer C:\images -r

# Оптимизация изображений в директории images и вложенных директориях в 4 потока
> image_optimizer C:\images -r -t 4

# Оптимизация изображений в директории images и вложенных директориях c ресайзингом вниз до 500px
> image_optimizer C:\images -r -s max500x500 

Шаблон ресайзинга

Шаблон задается в формате: [min|max](width)x(height)[f]

[min|max] - (опционально) режим ресайзинга:

  • min - будут изменены размеры (прапорционально) только тех изображений, ширина или высота которых больше заданной до достижения одной из размерностей минимального значения
  • max - будут изменены размеры (прапорционально) только тех изображений, ширина или высота которых меньше заданной до достижения одной из размерностей максимального значения

(width) - необходимая ширина

(height) - необходимая высота

[f] - (опционально) производить ресайзинг по правилам min|max, но без учета размера (будет применено ко всем)

Примеры:

... -s min1000x1000
>>> image1.jpg (1280x1024) > (1280x1024)
>>> image2.jpg (640x480)   > (1333x1000)

... -s min1000x1000f
>>> image1.jpg (1280x1024) > (1250x1000)
>>> image2.jpg (640x480)   > (1333x1000)

... -s max1000x1000
>>> image1.jpg (1280x1024) > (1000x800)
>>> image2.jpg (640x480)   > (640x480)

... -s max1000x1000f
>>> image1.jpg (1280x1024) > (1000x800)
>>> image2.jpg (640x480)   > (1000x750)

... -s 1000x1000
>>> image1.jpg (1280x1024) > (1000x1000)
>>> image2.jpg (640x480)   > (1000x1000)

Поддерживаемые типы файлов

BMP, EPS, GIF, J2C, J2K, JP2, JPC, JPE, JPEG, JPF, JPG, JPX, MPO, PBM, PCX, PGM, PNG, PPM, TGA

Список изменений

  • v0.3.6 [15.10.2018]

    • Реструктуризация и оптимизация.
  • v0.3.5 [13.10.2018]

    • Добавлена возможность ресайзинга изображений.
  • v0.3.4 [27.03.2018]

    • Переработано форматирование размеров файлов.
  • v0.3.3 [02.02.2018]

    • Обновлены зависимости.
  • v0.3.2 [08.11.2016]

    • Добавлен аргумент -l, отелючающий вывод статистики.
    • Оптимизация кода.
  • v0.3.1 [27.10.2016]

    • Убраны аргументы -f и -d. Теперь можно просто указать путь до файла или папки.
    • Аргумент --sub заменен на -r.
    • Исправлены некоторые баги.
  • v0.3.0 [23.09.2016]

    • Добавлена поддержка мультипоточности.
    • Улучшен вывод статистики.
  • v0.2.0 [19.09.2016]

    • Добавлены аргументы коммандной строки.
    • Добавлена поддержка нестандартных типов изображений.
  • v0.1.0 [17.09.2016]

    • Начало работы над проектом.

Ссылки

About

PIL based image optimizer

Resources

Stars

Watchers

Forks

Packages

No packages published