L’elaborazione delle immagini nel browser si basa su un’idea semplice: invece di inviare la Sua immagine a un server, è il programma a venire da Lei. Quando apre uno strumento di SchweizerIMG, il Suo browser carica un motore di elaborazione — codec e codice di elaborazione compilati in WebAssembly — e lo esegue in thread in background sul Suo processore. La foto viene letta dal Suo disco, elaborata nella memoria della scheda e salvata di nuovo sul Suo disco.
Questo articolo spiega cosa succede in ogni fase: di quali parti è composto il motore, perché la memoria del dispositivo fissa i limiti, perché le foto HEIC e i video dipendono dal browser e quali sono esattamente i due piccoli messaggi che raggiungono il nostro server a ogni elaborazione. Se l’elaborazione locale sia la scelta giusta rispetto ai siti di caricamento è il tema del confronto strumenti per immagini nel browser o siti di caricamento; qui guardiamo dietro le quinte.
Come funziona l’elaborazione immagini nel browser, passo dopo passo
- 1
Il motore viene caricato
Il codice e i codec del motore arrivano dal nostro dominio — gli stessi file statici per tutti. Il Suo browser li conserva nella cache, quindi le visite successive partono più in fretta. Ogni strumento carica solo le parti di cui ha bisogno.
- 2
L’immagine viene letta in locale
Quando trascina una foto sullo strumento, il browser passa il file alla pagina. Non viene trasmesso nulla: il file passa dal Suo disco alla memoria della scheda.
- 3
Un worker la decodifica e la elabora
Un Web Worker — un thread in background del browser — decodifica l’immagine in pixel grezzi, esegue l’operazione (ridimensionare, convertire, sfocare, rimuovere i metadati …) e codifica il risultato.
- 4
Lei salva il risultato
Il file finito viene offerto per il download dalla memoria. Non viene conservato altrove: chiuda la scheda e sparisce.
Il motore: codec per immagini compilati in WebAssembly
I browser sanno mostrare molti formati di immagine, ma lasciano alle pagine poco controllo su come le immagini vengono scritte: livelli di qualità, sottocampionamento della crominanza, modalità senza perdita, profili colore o metadati. SchweizerIMG porta quindi i propri encoder e decoder. Sono compilati in WebAssembly, un formato binario compatto che ogni browser attuale esegue come codice compilato veloce, nella propria sandbox di sicurezza.
| Parte del motore | Cosa fa |
|---|---|
| Codec per immagini (WebAssembly) | Leggono e scrivono JPEG, PNG, WebP, AVIF e JPEG XL con pieno controllo di qualità e compressione |
| Gestione del colore (WebAssembly) | Legge i profili ICC incorporati e converte correttamente i colori, per esempio in sRGB per il web |
| Renderer SVG (WebAssembly) | Disegna la grafica SVG in pixel — dopo averne rimosso script, riferimenti esterni e animazioni |
| Pipeline raster | Ridimensionamento, ritaglio, rotazione, filtri, regolazioni del colore, filigrane e aree nascoste sui pixel decodificati |
| Video (WebCodecs) | Usa i decoder e gli encoder video del browser stesso per gli strumenti video |
La gestione del colore conta più di quanto sembri. Una foto di uno smartphone o di una fotocamera recente porta spesso un profilo colore a gamut esteso. Senza una conversione corretta, la stessa immagine appare spenta o sovrasatura su un sito web. Il motore legge il profilo e converte i colori invece di scartarlo semplicemente — i colori molto saturi fuori dallo sRGB vengono tagliati, il limite onesto di ogni conversione in sRGB.
Web Worker: perché la pagina resta reattiva
Decodificare una foto di venti o più megapixel è un lavoro pesante. Se girasse nel thread principale della pagina, pulsanti e scorrimento si bloccherebbero. Il motore esegue quindi ogni lavoro in Web Worker: thread in background separati, senza accesso alla pagina stessa. A seconda del numero di core del processore del Suo dispositivo, più worker elaborano fianco a fianco le immagini di un lotto. Un lavoro può essere annullato in qualsiasi momento, e un watchdog ferma un lavoro bloccato. I worker aggiungono anche una protezione: un file immagine malformato viene decodificato in un thread isolato che non può toccare la pagina.
Memoria: perché è il dispositivo a fissare i limiti
La dimensione di un file dice poco sulla memoria necessaria. Un JPEG di pochi megabyte contiene una foto che, decodificata, occupa quattro byte per pixel — un’immagine da 24 megapixel richiede quasi cento megabyte come pixel grezzi, e molte operazioni hanno bisogno di una seconda copia per il risultato. Il motore stima la memoria di ogni lavoro prima di avviarlo e pianifica un lotto in modo che resti entro un budget ricavato da ciò che il dispositivo indica. Sui dispositivi con poca memoria, come la maggior parte degli smartphone, il limite di pixel viene abbassato automaticamente, e Lei viene avvisato prima di un’elaborazione che probabilmente fallirebbe.
- Smartphone e tablet hanno molta meno memoria per scheda dei computer. Le immagini molto grandi — panorami, scansioni ad alta risoluzione — si elaborano meglio su un computer.
- I lotti grandi vengono elaborati a turno anziché tutti insieme: richiedono più tempo, ma non fanno bloccare la scheda.
- Chiuda le altre schede impegnative se un’immagine grande non riesce, oppure la riduca prima con Ridimensiona e applichi gli strumenti più pesanti alla versione ridotta.
- I limiti del Suo piano vengono mostrati prima di un’elaborazione; cosa fare quando la memoria del dispositivo non basta è spiegato in immagini grandi e memoria.
HEIC e video: cosa decodifica il browser stesso
Due tipi di file si affidano ai decoder del browser invece che a quelli del motore. Le foto HEIC degli iPhone si aprono solo in Safari: SchweizerIMG non include alcun decoder HEIC (il formato è coperto da brevetti e licenze che non possiamo distribuire in uno strumento per browser), ma Safari decodifica da sé l’HEIC e passa i pixel allo strumento. Perché gli iPhone usano questo formato e come ottenere file compatibili è spiegato in le foto HEIC dell’iPhone spiegate.
Gli strumenti video come Da video a GIF, Da GIF a video ed Estrai fotogrammi usano WebCodecs, l’interfaccia del browser verso i suoi codec video integrati. È disponibile nelle versioni recenti dei browser; il supporto dei singoli codec varia da browser a browser, e la pagina La avvisa prima di un’elaborazione se WebCodecs manca. Come mantenere leggeri i GIF ottenuti è spiegato in ridurre la dimensione di un GIF. Quali piani includono Da video a GIF è indicato nella pagina dei prezzi. Le versioni supportate sono elencate in browser supportati.
Cosa raggiunge il server — e cosa no
Account, piani e il conteggio mensile delle operazioni si trovano sul nostro server; un’elaborazione non è quindi del tutto silenziosa. A ogni elaborazione il browser invia esattamente due piccoli messaggi: uno all’avvio, con il nome dello strumento, e uno alla fine, con l’esito. Entrambi sono costruiti da un elenco fisso di campi ammessi — qualsiasi altro campo, come un nome di file o una dimensione, viene rifiutato dal server.
{ "tool": "compress" }
{ "status": "completed" }Dati delle immagini, nomi dei file, dimensioni, misure in pixel, metadati come la posizione GPS, miniature e il testo che digita in uno strumento non lasciano mai il dispositivo. La garanzia tecnica è la Content Security Policy della pagina con connect-src 'self' (CSP Level 3): indica al Suo browser di impedire a ogni script e a ogni worker della pagina di collegarsi a un altro server. Può verificarlo di persona nella scheda Rete del Suo browser — come fare è descritto nel confronto con i siti di caricamento e in dove vengono elaborate le mie immagini.
Da uno strumento all’altro — e dopo la chiusura della scheda
Molti compiti richiedono più di uno strumento, per esempio Ritaglia, poi Ridimensiona, poi Rimuovi metadati. Con Continua con un altro strumento i risultati passano alla pagina dello strumento successivo nella memoria della scheda: non caricati, non salvati nella memoria del browser, non inseriti in un link. Un ricaricamento interrompe il passaggio, per scelta.
Lo stesso vale per tutto il resto: nessuna cronologia, nessuna copia in un cloud. Quando chiude o ricarica la scheda, le sue immagini e i suoi risultati spariscono, compreso il lavoro nell’Editor di immagini. Scarichi ciò che vuole conservare. L’impostazione complessiva è descritta nella pagina sicurezza.
Da cosa l’elaborazione locale non protegge
L’elaborazione nel browser tiene le immagini lontane dai nostri server, ma non protegge da un dispositivo compromesso, da un malware o da un’estensione del browser malevola, e chi riceve un risultato da Lei ne possiede una copia. Mantenga aggiornati browser e sistema e installi solo estensioni di cui si fida.
Domande frequenti
Perché un’immagine grande non riesce sullo smartphone ma sì sul portatile?
Perché l’immagine deve stare come pixel grezzi nella memoria del dispositivo, e una scheda del browser su smartphone ne riceve molta meno che su un computer. Il motore abbassa il proprio limite di pixel sui dispositivi con poca memoria e La avvisa in anticipo; per le immagini molto grandi usi un computer.
Posso continuare a usare gli strumenti offline una volta caricati?
No. L’accesso all’account e il conteggio delle operazioni richiedono una connessione; ogni elaborazione inizia e finisce quindi con una breve richiesta al nostro server. La connessione trasporta solo dati di account e di utilizzo — le immagini stesse non vengono mai trasferite.
Il motore usa modelli di IA nel mio browser?
No. Il motore non contiene modelli di IA. Rimuovi colore di sfondo lavora per colore e rende al meglio su sfondi uniformi; non ci sono ingrandimento con IA né rimozione di oggetti.
Perché uno strumento dice che il mio browser non è supportato?
Tutti gli strumenti hanno bisogno di WebAssembly e dei Web Worker, offerti da ogni browser attuale — alcune politiche aziendali disattivano WebAssembly. Gli strumenti video richiedono inoltre WebCodecs. Di solito basta aggiornare il browser; dettagli in browser supportati.
Il modo migliore per capirlo è provarlo: sfogli tutti gli strumenti, apra la scheda Rete del Suo browser e ne avvii uno, oppure crei un account gratuito.
Informazione generale
Questa pagina è un’informazione generale e un contenuto di marketing. Semplifica il funzionamento del motore di elaborazione, delle funzioni del browser (WebAssembly, Web Worker, WebCodecs) e della memoria; il supporto varia secondo browser, versione e dispositivo e cambia nel tempo.
