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

Motore delle immagini

Il pacchetto @snapotter/image-engine gestisce tutte le operazioni sulle immagini non basate sull'AI. Fa da wrapper a Sharp e viene eseguito interamente in-process senza dipendenze esterne.

Operazioni

resize

Scala un'immagine a dimensioni specifiche o in percentuale.

ParametroTipoDescrizione
widthnumberLarghezza target in pixel
heightnumberAltezza target in pixel
fitstringcover, contain, fill, inside o outside
withoutEnlargementbooleanSe true, non ingrandisce le immagini più piccole
percentagenumberScala in percentuale invece che con dimensioni assolute

Puoi impostare width, height o entrambi. Se ne imposti solo uno, l'altro viene calcolato per mantenere le proporzioni.

crop

Ritaglia una regione rettangolare dall'immagine.

ParametroTipoDescrizione
leftnumberScostamento X dal bordo sinistro
topnumberScostamento Y dal bordo superiore
widthnumberLarghezza dell'area di ritaglio
heightnumberAltezza dell'area di ritaglio
unitstringpx (predefinito) o percent

rotate

Ruota l'immagine di un dato angolo.

ParametroTipoDescrizione
anglenumberAngolo di rotazione in gradi (0-360)
backgroundstringColore di riempimento per l'area esposta (predefinito: #000000). Si applica solo agli angoli diversi da 90 gradi.

flip

Specchia l'immagine orizzontalmente, verticalmente o entrambi. Almeno uno deve essere true.

ParametroTipoDescrizione
horizontalbooleanSpecchia da sinistra a destra
verticalbooleanSpecchia dall'alto in basso

convert

Cambia il formato dell'immagine.

ParametroTipoDescrizione
formatstringFormato target: jpg, png, webp, avif, tiff, gif, jxl, heic, heif, bmp, ico, jp2, qoi
qualitynumberQualità di compressione (1-100, si applica ai formati con perdita)

I primi sette formati (da jpg a jxl) vengono codificati da Sharp in-process. I formati rimanenti usano encoder esterni a livello di API: heic/heif tramite heif-enc, bmp/ico tramite ImageMagick, jp2 tramite opj_compress e qoi tramite un codec TypeScript inline.

compress

Riduce la dimensione del file mantenendo lo stesso formato.

ParametroTipoDescrizione
qualitynumberQualità target (1-100)
targetSizeBytesnumberDimensione target opzionale del file in byte
formatstringOverride opzionale del formato

strip-metadata

Rimuove i metadati EXIF, IPTC, XMP e ICC dall'immagine. Senza parametri (o stripAll: true), rimuove tutto. Passa singoli flag per una rimozione selettiva.

ParametroTipoDescrizione
stripAllbooleanRimuove tutti i metadati (predefinito quando nessun flag è impostato)
stripExifbooleanRimuove i dati EXIF (incluso il GPS se stripGps non è impostato separatamente)
stripGpsbooleanRimuove i dati di posizione GPS
stripIccbooleanRimuove il profilo colore ICC
stripXmpbooleanRimuove i metadati XMP

Regolazioni del colore

Queste operazioni modificano le proprietà cromatiche di un'immagine. Ognuna accetta un singolo valore numerico.

OperazioneParametroIntervalloDescrizione
brightnessvalueda -100 a 100Regola la luminosità
contrastvalueda -100 a 100Regola il contrasto
saturationvalueda -100 a 100Regola la saturazione del colore

Filtri del colore

Questi applicano una trasformazione cromatica fissa. Non accettano parametri.

OperazioneDescrizione
grayscaleConverte in scala di grigi
sepiaApplica una tonalità seppia
invertInverte tutti i colori

Canali del colore

Regola i singoli canali di colore RGB. I valori sono moltiplicatori dove 100 = nessuna modifica.

ParametroTipoDescrizione
rednumberMoltiplicatore del canale rosso (da 0 a 200, 100 = invariato)
greennumberMoltiplicatore del canale verde (da 0 a 200, 100 = invariato)
bluenumberMoltiplicatore del canale blu (da 0 a 200, 100 = invariato)

sharpen

Nitidezza semplice controllata da un singolo valore.

ParametroTipoDescrizione
valuenumberIntensità della nitidezza (da 0 a 100). Mappata su un sigma gaussiano di 0,5-10.

sharpen-advanced

Nitidezza avanzata con tre metodi selezionabili e un pre-passaggio opzionale di riduzione del rumore.

ParametroTipoDescrizione
methodstringadaptive, unsharp-mask o high-pass
sigmanumberRaggio della sfocatura gaussiana, 0,5-10 (adattivo)
m1numberNitidezza delle aree piatte, 0-10 (adattivo)
m2numberNitidezza delle aree con texture, 0-20 (adattivo)
x1numberSoglia piatto/frastagliato, 0-10 (adattivo)
y2numberSchiaritura massima (clamp degli aloni), 0-50 (adattivo)
y3numberScurimento massimo (clamp degli aloni), 0-50 (adattivo)
amountnumberPercentuale di intensità, 0-500 (unsharp-mask)
radiusnumberRaggio della sfocatura, 0,1-5,0 (unsharp-mask)
thresholdnumberLuminosità minima dei bordi, 0-255 (unsharp-mask)
strengthnumberIntensità della fusione, 0-100 (high-pass)
kernelSizenumber3 o 5 per kernel 3x3 / 5x5 (high-pass)
denoisestringPre-passaggio di riduzione del rumore: off, light, medium o strong

I parametri sono specifici per il metodo. Fornisci solo quelli pertinenti al metodo scelto.

color-blindness

Simula un deficit della visione dei colori usando una matrice di ricombinazione cromatica 3x3.

ParametroTipoDescrizione
typestringUno tra: protanopia, deuteranopia, tritanopia, protanomaly, deuteranomaly, tritanomaly, achromatopsia, blueConeMonochromacy

edit-metadata

Scrive o rimuove singoli campi di metadati EXIF/IPTC senza rimuovere l'intero blocco.

ParametroTipoDescrizione
artiststringTag EXIF Artist
copyrightstringTag EXIF Copyright
imageDescriptionstringTag EXIF ImageDescription
softwarestringTag EXIF Software
dateTimestringTag EXIF DateTime
dateTimeOriginalstringTag EXIF DateTimeOriginal
clearGpsbooleanRimuove tutti i tag GPS
fieldsToRemovestring[]Elenco dei nomi dei campi EXIF da eliminare

Tutti i parametri sono opzionali. I campi elencati in fieldsToRemove vengono eliminati dal blocco EXIF esistente. I campi impostati tramite i parametri nominati vengono scritti (o sovrascritti). Le chiavi binarie/non sicure come MakerNote vengono ignorate silenziosamente.

Rilevamento del formato

Il motore rileva automaticamente i formati di input dalle intestazioni dei file, non solo dalle estensioni. Questo significa che un file .jpg che in realtà è un PNG verrà gestito correttamente. Il rilevamento usa un approccio multi-livello: prima i magic byte, poi l'estensione del file come fallback.

SnapOtter supporta oltre 55 formati di input e 13 formati di output, inclusi 23 formati RAW da fotocamera di oltre 20 marchi, formati professionali (PSD, EPS, OpenEXR, HDR), codec moderni (JPEG XL, AVIF, HEIC, QOI, JPEG 2000) e formati scientifici/di gioco (FITS, DDS). La decodifica è gestita nativamente da Sharp dove possibile, con fallback automatico a ImageMagick, LibRaw e decoder CLI specializzati.

Vedi la pagina Formati supportati per l'elenco completo.

Estrazione dei metadati

Lo strumento info restituisce i metadati dell'immagine. Vedi Informazioni sull'immagine per il riferimento completo dei campi.

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