Перейти к содержимому
Проект

Imager — обработка изображений на лету

Карикатурная иллюстрация проектов Владислава Владимировича Алтухова и измеримых бизнес-результатов

Выберите исходное изображение, размер, DPR, пресет и формат — Imager построит канонический URL и вернёт готовый ассет. Демо также показывает работу клиентской библиотеки Imager Client.

Загрузите файл

Файл попадёт в /images/uploads и будет удалён через час. Дальше Imager построит из него варианты на лету.

Картинки или видео. До 5 МБ — картинки, до 20 МБ — видео.

Настройки

DPR (плотность пикселей)

Форматы вывода

Размеры (мультивыбор)

Результат

, чтобы увидеть, как Imager на лету конвертирует ассеты.
Вкладки «Код» и «JSON» уже показывают результат для плейсхолдера /images/uploads/example.png.

Примеры кода

Генерация ассетов клиентскими пакетами Imager для текущих настроек (размеры, dpr, форматы) и пример конфига сервера.

Пример генерации ассетов для текущих настроек.

main.go
import imager "gitverse.ru/pkg-ru/imager-client/v2"

// Настройки по умолчанию
img := imager.New(imager.Options{
    BaseURL: "/",
    Format:  "webp",
    Formats: []string{"webp", "jpg"},
    DPR:     2,
})

// JSON-структура ассетов (применяются настройки по умолчанию Formats и DPR)
json := img.GetAssets("/images/uploads/example.png", "200x200", nil, nil)

// JSON-структура ассетов (переопределяем настройки по умолчанию)
json2 := img.GetAssets(
    "/images/uploads/example.png",
    imager.Size{Width: 200, Height: 200},
    []string{"webp", "jpg"},
    2,
)

// Готовый HTML <picture>/<img> (применяются настройки по умолчанию Formats и DPR)
html := img.GetAssetsHtml(
    "/images/uploads/example.png",
    "200x200",
    nil,
    nil,
    imager.Options{Class: "photo", ID: "main", Alt: "Hello & <world>", Lazy: true},
)