Эта страница переведена машинным способом. Заметили ошибку?Помогите её улучшить.
Skip to content

Движок изображений ​

Пакет @snapotter/image-engine обрабатывает все не-AI операции с изображениями. Он оборачивает Sharp и работает полностью внутри процесса без внешних зависимостей.

Операции ​

resize ​

Масштабирование изображения до конкретных размеров или в процентах.

ПараметрТипОписание
widthnumberЦелевая ширина в пикселях
heightnumberЦелевая высота в пикселях
fitstringcover, contain, fill, inside или outside
withoutEnlargementbooleanЕсли true, не увеличивает меньшие изображения
percentagenumberМасштабировать в процентах вместо абсолютных размеров

Можно задать width, height или оба. Если задать только один, другой вычисляется для сохранения соотношения сторон.

crop ​

Вырезание прямоугольной области из изображения.

ПараметрТипОписание
leftnumberСмещение X от левого края
topnumberСмещение Y от верхнего края
widthnumberШирина области обрезки
heightnumberВысота области обрезки
unitstringpx (по умолчанию) или percent

rotate ​

Поворот изображения на заданный угол.

ПараметрТипОписание
anglenumberУгол поворота в градусах (0-360)
backgroundstringЦвет заливки открывшейся области (по умолчанию: #000000). Применяется только к углам, не кратным 90 градусам.

flip ​

Отражение изображения по горизонтали, вертикали или обоим осям. Хотя бы одно значение должно быть true.

ПараметрТипОписание
horizontalbooleanОтразить слева направо
verticalbooleanОтразить сверху вниз

convert ​

Изменение формата изображения.

ПараметрТипОписание
formatstringЦелевой формат: jpg, png, webp, avif, tiff, gif, jxl, heic, heif, bmp, ico, jp2, qoi
qualitynumberКачество сжатия (1-100, применяется к форматам с потерями)

Первые семь форматов (от jpg до jxl) кодируются Sharp внутри процесса. Остальные форматы используют внешние кодеры на уровне API: heic/heif через heif-enc, bmp/ico через ImageMagick, jp2 через opj_compress и qoi через встроенный TypeScript-кодек.

compress ​

Уменьшение размера файла с сохранением того же формата.

ПараметрТипОписание
qualitynumberЦелевое качество (1-100)
targetSizeBytesnumberОпциональный целевой размер файла в байтах
formatstringОпциональное переопределение формата

strip-metadata ​

Удаление метаданных EXIF, IPTC, XMP и ICC из изображения. Без параметров (или с stripAll: true) удаляет всё. Передайте отдельные флаги для выборочного удаления.

ПараметрТипОписание
stripAllbooleanУдалить все метаданные (по умолчанию, если флаги не заданы)
stripExifbooleanУдалить данные EXIF (включая GPS, если stripGps не задан отдельно)
stripGpsbooleanУдалить данные о GPS-местоположении
stripIccbooleanУдалить цветовой профиль ICC
stripXmpbooleanУдалить метаданные XMP

Настройки цвета ​

Эти операции изменяют цветовые свойства изображения. Каждая принимает одно числовое значение.

ОперацияПараметрДиапазонОписание
brightnessvalue-100 до 100Настройка яркости
contrastvalue-100 до 100Настройка контрастности
saturationvalue-100 до 100Настройка насыщенности цвета

Цветовые фильтры ​

Применяют фиксированное цветовое преобразование. Не принимают параметров.

ОперацияОписание
grayscaleПреобразовать в оттенки серого
sepiaПрименить тон сепии
invertИнвертировать все цвета

Цветовые каналы ​

Настройка отдельных цветовых каналов RGB. Значения являются множителями, где 100 = без изменений.

ПараметрТипОписание
rednumberМножитель красного канала (0 до 200, 100 = без изменений)
greennumberМножитель зелёного канала (0 до 200, 100 = без изменений)
bluenumberМножитель синего канала (0 до 200, 100 = без изменений)

sharpen ​

Простое повышение резкости, управляемое одним значением.

ПараметрТипОписание
valuenumberИнтенсивность резкости (0 до 100). Сопоставляется с гауссовой сигмой 0.5-10.

sharpen-advanced ​

Продвинутое повышение резкости с тремя выбираемыми методами и опциональным предварительным проходом шумоподавления.

ПараметрТипОписание
methodstringadaptive, unsharp-mask или high-pass
sigmanumberРадиус гауссова размытия, 0.5-10 (адаптивный)
m1numberРезкость плоских областей, 0-10 (адаптивный)
m2numberРезкость текстурированных областей, 0-20 (адаптивный)
x1numberПорог плоское/зубчатое, 0-10 (адаптивный)
y2numberМаксимальное осветление (ограничение ореола), 0-50 (адаптивный)
y3numberМаксимальное затемнение (ограничение ореола), 0-50 (адаптивный)
amountnumberПроцент интенсивности, 0-500 (нерезкая маска)
radiusnumberРадиус размытия, 0.1-5.0 (нерезкая маска)
thresholdnumberМинимальная яркость края, 0-255 (нерезкая маска)
strengthnumberСила смешивания, 0-100 (высокочастотный)
kernelSizenumber3 или 5 для ядра 3x3 / 5x5 (высокочастотный)
denoisestringПредварительный проход шумоподавления: off, light, medium или strong

Параметры специфичны для метода. Указывайте только те, что относятся к выбранному методу.

color-blindness ​

Симуляция дефицита цветового зрения с помощью матрицы цветовой рекомбинации 3x3.

ПараметрТипОписание
typestringОдно из: protanopia, deuteranopia, tritanopia, protanomaly, deuteranomaly, tritanomaly, achromatopsia, blueConeMonochromacy

edit-metadata ​

Запись или удаление отдельных полей метаданных EXIF/IPTC без удаления всего блока.

ПараметрТипОписание
artiststringТег EXIF Artist
copyrightstringТег EXIF Copyright
imageDescriptionstringТег EXIF ImageDescription
softwarestringТег EXIF Software
dateTimestringТег EXIF DateTime
dateTimeOriginalstringТег EXIF DateTimeOriginal
clearGpsbooleanУдалить все теги GPS
fieldsToRemovestring[]Список имён полей EXIF для удаления

Все параметры опциональны. Поля, перечисленные в fieldsToRemove, удаляются из существующего блока EXIF. Поля, заданные через именованные параметры, записываются (или перезаписываются). Двоичные/небезопасные ключи, такие как MakerNote, молча игнорируются.

Определение формата ​

Движок определяет входные форматы автоматически по заголовкам файлов, а не только по расширениям. Это значит, что файл .jpg, который на самом деле является PNG, будет обработан корректно. Определение использует многослойный подход: сначала магические байты, затем расширение файла как запасной вариант.

SnapOtter поддерживает 55+ входных форматов и 13 выходных форматов, включая 23 формата RAW камер от 20+ брендов, профессиональные форматы (PSD, EPS, OpenEXR, HDR), современные кодеки (JPEG XL, AVIF, HEIC, QOI, JPEG 2000) и научные/игровые форматы (FITS, DDS). Декодирование выполняется нативно через Sharp там, где это возможно, с автоматическим откатом на ImageMagick, LibRaw и специализированные CLI-декодеры.

См. страницу Поддерживаемые форматы для полного списка.

Извлечение метаданных ​

Инструмент info возвращает метаданные изображения. См. Информация об изображении для полного справочника полей.

json
{
  "filename": "photo.jpg",
  "fileSize": 2450000,
  "width": 4032,
  "height": 3024,
  "format": "jpeg",
  "channels": 3,
  "hasAlpha": false,
  "colorSpace": "srgb",
  "density": 72,
  "isProgressive": false,
  "hasExif": true,
  "hasIcc": true,
  "hasXmp": false,
  "bitDepth": "8",
  "pages": 1,
  "histogram": [
    { "channel": "red", "min": 0, "max": 255, "mean": 128.45, "stdev": 52.31 },
    { "channel": "green", "min": 2, "max": 253, "mean": 115.22, "stdev": 48.76 },
    { "channel": "blue", "min": 0, "max": 250, "mean": 102.89, "stdev": 55.14 }
  ]
}