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

Выберите исходное изображение, размер, DPR, пресет и формат — Imager построит канонический URL и вернёт готовый ассет. Демо также показывает работу клиентской библиотеки Imager Client.
Загрузите файл
Файл попадёт в /images/uploads и будет удалён через час. Дальше Imager построит из него варианты на лету.
Настройки
Результат
, чтобы увидеть, как 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},
)