Files
SnapOtter/apps/docs/it/api/image-engine.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

9.0 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Riferimento delle operazioni del motore delle immagini. Tutte le operazioni di elaborazione delle immagini basate su Sharp e i loro parametri. 42febdf85fa8 human 864b5292c45c

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.

Parametro Tipo Descrizione
width number Larghezza target in pixel
height number Altezza target in pixel
fit string cover, contain, fill, inside o outside
withoutEnlargement boolean Se true, non ingrandisce le immagini più piccole
percentage number Scala 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.

Parametro Tipo Descrizione
left number Scostamento X dal bordo sinistro
top number Scostamento Y dal bordo superiore
width number Larghezza dell'area di ritaglio
height number Altezza dell'area di ritaglio
unit string px (predefinito) o percent

rotate

Ruota l'immagine di un dato angolo.

Parametro Tipo Descrizione
angle number Angolo di rotazione in gradi (0-360)
background string Colore 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.

Parametro Tipo Descrizione
horizontal boolean Specchia da sinistra a destra
vertical boolean Specchia dall'alto in basso

convert

Cambia il formato dell'immagine.

Parametro Tipo Descrizione
format string Formato target: jpg, png, webp, avif, tiff, gif, jxl, heic, heif, bmp, ico, jp2, qoi
quality number Qualità 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.

Parametro Tipo Descrizione
quality number Qualità target (1-100)
targetSizeBytes number Dimensione target opzionale del file in byte
format string Override 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.

Parametro Tipo Descrizione
stripAll boolean Rimuove tutti i metadati (predefinito quando nessun flag è impostato)
stripExif boolean Rimuove i dati EXIF (incluso il GPS se stripGps non è impostato separatamente)
stripGps boolean Rimuove i dati di posizione GPS
stripIcc boolean Rimuove il profilo colore ICC
stripXmp boolean Rimuove i metadati XMP

Regolazioni del colore

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

Operazione Parametro Intervallo Descrizione
brightness value da -100 a 100 Regola la luminosità
contrast value da -100 a 100 Regola il contrasto
saturation value da -100 a 100 Regola la saturazione del colore

Filtri del colore

Questi applicano una trasformazione cromatica fissa. Non accettano parametri.

Operazione Descrizione
grayscale Converte in scala di grigi
sepia Applica una tonalità seppia
invert Inverte tutti i colori

Canali del colore

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

Parametro Tipo Descrizione
red number Moltiplicatore del canale rosso (da 0 a 200, 100 = invariato)
green number Moltiplicatore del canale verde (da 0 a 200, 100 = invariato)
blue number Moltiplicatore del canale blu (da 0 a 200, 100 = invariato)

sharpen

Nitidezza semplice controllata da un singolo valore.

Parametro Tipo Descrizione
value number Intensità 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.

Parametro Tipo Descrizione
method string adaptive, unsharp-mask o high-pass
sigma number Raggio della sfocatura gaussiana, 0,5-10 (adattivo)
m1 number Nitidezza delle aree piatte, 0-10 (adattivo)
m2 number Nitidezza delle aree con texture, 0-20 (adattivo)
x1 number Soglia piatto/frastagliato, 0-10 (adattivo)
y2 number Schiaritura massima (clamp degli aloni), 0-50 (adattivo)
y3 number Scurimento massimo (clamp degli aloni), 0-50 (adattivo)
amount number Percentuale di intensità, 0-500 (unsharp-mask)
radius number Raggio della sfocatura, 0,1-5,0 (unsharp-mask)
threshold number Luminosità minima dei bordi, 0-255 (unsharp-mask)
strength number Intensità della fusione, 0-100 (high-pass)
kernelSize number 3 o 5 per kernel 3x3 / 5x5 (high-pass)
denoise string Pre-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.

Parametro Tipo Descrizione
type string Uno 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.

Parametro Tipo Descrizione
artist string Tag EXIF Artist
copyright string Tag EXIF Copyright
imageDescription string Tag EXIF ImageDescription
software string Tag EXIF Software
dateTime string Tag EXIF DateTime
dateTimeOriginal string Tag EXIF DateTimeOriginal
clearGps boolean Rimuove tutti i tag GPS
fieldsToRemove string[] 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.

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