This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Motor de imágenes

El paquete @snapotter/image-engine gestiona todas las operaciones de imagen que no son de IA. Envuelve Sharp y se ejecuta por completo en el proceso, sin dependencias externas.

Operaciones

resize

Escala una imagen a dimensiones específicas o por porcentaje.

ParámetroTipoDescripción
widthnumberAncho objetivo en píxeles
heightnumberAlto objetivo en píxeles
fitstringcover, contain, fill, inside o outside
withoutEnlargementbooleanSi es verdadero, no ampliará imágenes más pequeñas
percentagenumberEscalar por porcentaje en lugar de dimensiones absolutas

Puedes establecer width, height o ambos. Si solo estableces uno, el otro se calcula para mantener la relación de aspecto.

crop

Recorta una región rectangular de la imagen.

ParámetroTipoDescripción
leftnumberDesplazamiento X desde el borde izquierdo
topnumberDesplazamiento Y desde el borde superior
widthnumberAncho del área de recorte
heightnumberAlto del área de recorte
unitstringpx (por defecto) o percent

rotate

Rota la imagen un ángulo determinado.

ParámetroTipoDescripción
anglenumberÁngulo de rotación en grados (0-360)
backgroundstringColor de relleno para el área expuesta (por defecto: #000000). Solo se aplica a ángulos que no sean de 90 grados.

flip

Refleja la imagen en horizontal, en vertical o en ambas direcciones. Al menos una debe ser verdadera.

ParámetroTipoDescripción
horizontalbooleanReflejar de izquierda a derecha
verticalbooleanReflejar de arriba a abajo

convert

Cambia el formato de la imagen.

ParámetroTipoDescripción
formatstringFormato objetivo: jpg, png, webp, avif, tiff, gif, jxl, heic, heif, bmp, ico, jp2, qoi
qualitynumberCalidad de compresión (1-100, se aplica a los formatos con pérdida)

Los primeros siete formatos (de jpg a jxl) los codifica Sharp en el proceso. Los formatos restantes usan codificadores externos en la capa de la API: heic/heif mediante heif-enc, bmp/ico mediante ImageMagick, jp2 mediante opj_compress y qoi mediante un códec TypeScript en línea.

compress

Reduce el tamaño del archivo manteniendo el mismo formato.

ParámetroTipoDescripción
qualitynumberCalidad objetivo (1-100)
targetSizeBytesnumberTamaño de archivo objetivo opcional en bytes
formatstringAnulación de formato opcional

strip-metadata

Elimina los metadatos EXIF, IPTC, XMP e ICC de la imagen. Sin parámetros (o con stripAll: true), elimina todo. Pasa banderas individuales para una eliminación selectiva.

ParámetroTipoDescripción
stripAllbooleanEliminar todos los metadatos (por defecto cuando no se establece ninguna bandera)
stripExifbooleanEliminar los datos EXIF (incluido el GPS si stripGps no se establece por separado)
stripGpsbooleanEliminar los datos de ubicación GPS
stripIccbooleanEliminar el perfil de color ICC
stripXmpbooleanEliminar los metadatos XMP

Ajustes de color

Estas operaciones modifican las propiedades de color de una imagen. Cada una toma un único valor numérico.

OperaciónParámetroRangoDescripción
brightnessvalue-100 a 100Ajustar el brillo
contrastvalue-100 a 100Ajustar el contraste
saturationvalue-100 a 100Ajustar la saturación de color

Filtros de color

Estos aplican una transformación de color fija. No toman parámetros.

OperaciónDescripción
grayscaleConvertir a escala de grises
sepiaAplicar un tono sepia
invertInvertir todos los colores

Canales de color

Ajusta los canales de color RGB individuales. Los valores son multiplicadores donde 100 = sin cambios.

ParámetroTipoDescripción
rednumberMultiplicador del canal rojo (0 a 200, 100 = sin cambios)
greennumberMultiplicador del canal verde (0 a 200, 100 = sin cambios)
bluenumberMultiplicador del canal azul (0 a 200, 100 = sin cambios)

sharpen

Enfoque simple controlado por un único valor.

ParámetroTipoDescripción
valuenumberIntensidad del enfoque (0 a 100). Se asigna a un sigma gaussiano de 0,5-10.

sharpen-advanced

Enfoque avanzado con tres métodos seleccionables y una pasada previa opcional de reducción de ruido.

ParámetroTipoDescripción
methodstringadaptive, unsharp-mask o high-pass
sigmanumberRadio del desenfoque gaussiano, 0,5-10 (adaptativo)
m1numberEnfoque de áreas planas, 0-10 (adaptativo)
m2numberEnfoque de áreas con textura, 0-20 (adaptativo)
x1numberUmbral plano/dentado, 0-10 (adaptativo)
y2numberAclarado máximo (límite de halo), 0-50 (adaptativo)
y3numberOscurecimiento máximo (límite de halo), 0-50 (adaptativo)
amountnumberPorcentaje de intensidad, 0-500 (máscara de enfoque)
radiusnumberRadio de desenfoque, 0,1-5,0 (máscara de enfoque)
thresholdnumberBrillo mínimo de borde, 0-255 (máscara de enfoque)
strengthnumberIntensidad de mezcla, 0-100 (paso alto)
kernelSizenumber3 o 5 para el núcleo 3x3 / 5x5 (paso alto)
denoisestringPasada previa de reducción de ruido: off, light, medium o strong

Los parámetros son específicos de cada método. Proporciona solo los relevantes para el método elegido.

color-blindness

Simula una deficiencia de la visión de color usando una matriz de recombinación de color 3x3.

ParámetroTipoDescripción
typestringUno de: protanopia, deuteranopia, tritanopia, protanomaly, deuteranomaly, tritanomaly, achromatopsia, blueConeMonochromacy

edit-metadata

Escribe o elimina campos de metadatos EXIF/IPTC individuales sin borrar el bloque completo.

ParámetroTipoDescripción
artiststringEtiqueta EXIF Artist
copyrightstringEtiqueta EXIF Copyright
imageDescriptionstringEtiqueta EXIF ImageDescription
softwarestringEtiqueta EXIF Software
dateTimestringEtiqueta EXIF DateTime
dateTimeOriginalstringEtiqueta EXIF DateTimeOriginal
clearGpsbooleanEliminar todas las etiquetas GPS
fieldsToRemovestring[]Lista de nombres de campos EXIF a eliminar

Todos los parámetros son opcionales. Los campos que figuran en fieldsToRemove se eliminan del bloque EXIF existente. Los campos establecidos mediante los parámetros con nombre se escriben (o se sobrescriben). Las claves binarias/inseguras como MakerNote se ignoran de forma silenciosa.

Detección de formato

El motor detecta los formatos de entrada automáticamente a partir de las cabeceras de los archivos, no solo de las extensiones. Esto significa que un archivo .jpg que en realidad es un PNG se gestionará correctamente. La detección usa un enfoque de varias capas: primero los bytes mágicos y luego la extensión del archivo como respaldo.

SnapOtter admite más de 55 formatos de entrada y 13 formatos de salida, incluidos 23 formatos RAW de cámara de más de 20 marcas, formatos profesionales (PSD, EPS, OpenEXR, HDR), códecs modernos (JPEG XL, AVIF, HEIC, QOI, JPEG 2000) y formatos científicos/de videojuegos (FITS, DDS). La decodificación la gestiona Sharp de forma nativa siempre que es posible, con respaldo automático a ImageMagick, LibRaw y decodificadores CLI especializados.

Consulta la página Formatos compatibles para ver la lista completa.

Extracción de metadatos

La herramienta info devuelve los metadatos de la imagen. Consulta Información de la imagen para ver la referencia completa de campos.

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 }
  ]
}