Skip to content

Компонент для генерации ссылок на сжатые миниатюры картинок в микро-сервисе Imager.

License

Notifications You must be signed in to change notification settings

pkg-ru/imager-client

Repository files navigation

Imager Client

Компонент для генерации ссылок на сжатые миниатюры картинок в микро-сервисе Imager.

Для работы нужно настроить и запустить микро-сервис Imager.

Документация: RU / EN


Общие сведения

Инициализация компонента

Imager(thumb)

thumb - название настроек на сервере (по умолчанию: default)

Можно передать массив настроек, кроме реализации на языке Go.

Настройки обработки картинок на сервере

thumb(thumb)

thumb - название настроек на сервере (по умолчанию: default)
Ширина картинки

width(width)

width - ширина.

Если передать 0, то ширина не изменяется, и сохраняет свои пропорции относительно высоты.

Высота картинки

height(height)

height - высота.

Если передать 0, то высота не изменяется, и сохраняет свои пропорции относительно ширины.

Установка ширины и высоты изображения

size(width, height)

width - ширина.

Если передать 0, то ширина не изменяется, и сохраняет свои пропорции относительно высоты.

height - высота.

Если передать 0, то высота не изменяется, и сохраняет свои пропорции относительно ширины.

Обрезка изображения в размер

crop(crop)

crop - обрезка изображения (по умолчанию false).

Если true — при установке ширины и высоты этот параметр масштабирует и обрезает картинку в указанный размер.
Если false — при установке ширины и высоты параметр масштабирует картинку в указанный размер.
Поля, которые образуются в результате масштабирования, закрашиваются установленным цветом или остаются прозрачными (если это возможно).

Повтор анимации

loop(loop)

loop - повтор анимации (по умолчанию true).

Если true — анимация зацикливается.
Если false — анимация проигрывается 1 раз.

Заливка фона цветом

color(r, g, b)

r - Красный.
g - Зеленый.
b - Синий.

Устанавливает цвет заливки фона в RGB формате.

Обрезание краев картинки

trim(active, rate, colors)

active - активность фильтра.
rate - степень сравнения цветов (чем ниже, тем точнее цвет).
colors - список цветов в RGB формате: [[255, 255, 255], [0, 0, 0]].

С помощью этого фильтра можно обрезать картинку по прозрачным пикселям, черным/белым или любым другим цветам, которые находятся по краям (верх/низ/лево/право) картинки.

Активность обрезания краев картинки

trimActive(active)

active - активность фильтра обрезания краев.

Если true — обрезаем.
Если false — не обрезаем.

Степень сопоставления цвета для обрезания краев

trimRate(rate)

rate - степень сопоставления цвета.

Чем ниже это значение, тем точнее сопоставляется цвет.

Цвета, которые будут обрезаны по краям

trimColors(colors)

colors - список цветов.

Список в RGB формате: [[255, 255, 255], [0, 0, 0]].

Качество превью картинки

quality(quality)

quality - качество результата.

Чем ниже значение, тем хуже качество и меньше размер файла (не для файлов результата: gif/png).

Настройка (кроме Go)

setting(setting)

setting - список/массив настроек (кроме Go).

Пример:

{
# ширина
'width': 100,
# высота
'height': 100,
# качество
'quality': 85,
# обрезка в размер
'crop': false,
# повтор анимации
'loop': true,
# цвет заливки
'color': [255, 255, 255],
# обрезка краев
'trimActive': true,
# степень сопоставления при обрезании краев
'trimRate': 20,
# список цветов для обрезания краев
'trimColor': [[255, 255, 255], [0, 0, 0]],
}
Копирование, чтобы не вносить изменения в общий экземпляр

copy() / clone()

Можно использовать для группировки по типам/настройкам ассетов.

Получение ссылки без изменения формата картинки

get(file, setting)

file - путь к исходному файлу (относительно web).
setting - список/массив настроек (кроме Go).

Генерирует ссылку на ассет картинки по установленным параметрам, без изменения расширения исходного файла.

Получение ссылки с конвертацией в другой формат

convert(file, format, setting)

file - путь к исходному файлу (относительно web).
format - формат файла результата.
setting - список/массив настроек (кроме Go).

Генерирует ссылку на ассет картинки по установленным параметрам и с установленным расширением файла результата.


Клонирование репозитория

git clone https://github.com/pkg-ru/imager-client.git && cd imager-client

Установка контейнера разработки

docker compose build && docker compose start

Запуск тестов

docker exec -it imager-client bash -c "go run test/*.go"

Сборка

docker exec -it imager-client bash -c "go run test/*.go && npm run build && python3 -m build"