Note del team su artigianato, formati e le piccole decisioni dietro un buon risultato.
Il contenitore senza perdita, cosa memorizza il PNG
Il PNG usa l'algoritmo di compressione senza perdita DEFLATE. Memorizza i valori RGBA di ogni pixel esattamente come forniti, applica un filtro reversibile a ogni riga e comprime il risultato con una variante di zlib. Senza perdita significa che i valori dei pixel decompressi sono identici byte per byte agli originali. Nel caso JPG in PNG, gli originali sono i pixel prodotti quando il browser decodifica il JPEG. Quei pixel decodificati riflettono già tutte le approssimazioni che il JPEG ha fatto nella sua codifica iniziale, quindi il PNG memorizza fedelmente i pixel approssimati, non la scena reale. Nei test, un JPEG da a 1024x768 diventa circa come PNG, e un JPEG da a 3840x2160 cresce fino a circa . Questi multipli si mantengono all'incirca tra i tipi di contenuto perché il rapporto segue la risoluzione, non il livello di qualità JPEG. Il contenitore senza perdita vale per ciò che previene, ulteriore degrado, non per ciò che ripristina.
Perché la qualità JPEG non si può recuperare
La compressione JPEG scarta informazioni in modo permanente. Il processo applica una trasformata coseno discreta a blocchi di 8x8 pixel, quantizza i coefficienti di frequenza risultanti in un insieme più piccolo e memorizza quei valori quantizzati. Il passaggio di quantizzazione è a senso unico: un coefficiente che era 47 ed è stato arrotondato a 50 non può tornare a 47 in seguito, e nel file non sopravvive alcuna traccia del valore originale. Quando il browser decodifica il JPEG, ricostruisce i pixel dai coefficienti quantizzati, che sono approssimazioni dei valori originali. Ricostruire quei pixel approssimati come PNG produce un registro senza perdita delle approssimazioni, quindi il PNG è una rappresentazione perfetta dell'immagine degradata. Non è un limite del PNG né di questo strumento, è una proprietà fondamentale della compressione con perdita, dove l'informazione scartata in fase di codifica è persa. Migliorare la qualità JPEG richiede di partire dall'originale non compresso o RAW.
Crescita di dimensione misurata
Il rapporto di dimensione da JPG a PNG varia con il contenuto dell'immagine ma segue uno schema prevedibile. Le immagini fotografiche con variazioni tonali complesse crescono di più, perché la trasformata del JPEG è calibrata proprio per quel contenuto e ottiene alti rapporti di compressione, mentre la compressione senza perdita del PNG non può eguagliare quei rapporti su dati di pixel rumorosi. Le misure di questo strumento mostrano una foto JPEG da a 1024x768 che produce un PNG da , circa 6 volte più grande, e una foto JPEG da a 3840x2160 che produce un PNG da , circa 3,3 volte più grande. Per le immagini a colori piatti come screenshot e icone, il JPEG è già poco adatto al contenuto e i suoi file tendono a essere più grandi a parità di qualità, quindi il PNG dello stesso contenuto cresce meno drasticamente. L'implicazione pratica è diretta: se la dimensione del file conta per il tuo caso d'uso, convertire un JPG in PNG peggiora la situazione, non la migliora.
Trasparenza, la capacità rispetto al contenuto
Il PNG supporta un trasparenza a 8 bit come funzione del contenitore, dove un file può includere valori di opacità per pixel che vanno da 0 (del tutto trasparente) a 255 (del tutto opaco). Quando un JPG viene convertito in PNG ricostruendolo attraverso il motore immagini della piattaforma, il PNG risultante è impostato del tutto opaco, con ogni pixel a un valore alfa di 255, perché il JPG di origine non aveva alcuna informazione di trasparenza. Il formato PNG è pronto a contenere dati di trasparenza, semplicemente il file non ne contiene, perché nessuna era presente nell'origine. Aggiungere trasparenza all'immagine richiede un'elaborazione a parte, mascherando lo sfondo in un editor o usando un passaggio automatico di rimozione dello sfondo. Uno strumento di rimozione dello sfondo addestrato a individuare il soggetto può produrre un PNG con vero alfa azzerando i valori alfa sui pixel di sfondo dopo la conversione.
Gestione dei metadati EXIF
Il percorso di ricostruzione elimina i metadati EXIF, IPTC e XMP dall'esito PNG su ogni browser. Questo significa che coordinate GPS, modello della fotocamera, data di scatto, stringhe di copyright e qualsiasi campo XMP personalizzato presente nel JPG di origine vengono rimossi. I profili colore ICC seguono un percorso un po' diverso: Chrome e Safari conservano il tag del profilo ICC sRGB nell'esito, mentre Firefox lo elimina insieme a tutti gli altri metadati. Il risultato pratico è un esito sicuro per sRGB su tutti i browser, ma i profili a gamma estesa come Display-P3 o Adobe RGB vengono persi in Firefox. Per la maggior parte degli usi web e di condivisione la rimozione dei metadati è utile, perché riduce un po' la dimensione e toglie i dati di posizione dalle foto. Per la fotografia professionale o i flussi di archiviazione in cui i metadati incorporati devono essere conservati, gestisci la catena dei metadati con uno strumento dedicato prima o dopo la conversione di formato.
La privacy nella pratica
Dove avviene la conversione dipende dal numero di file. Per una singola immagine, nessun dato lascia il browser, ed è verificabile in tempo reale. La rete rimane inattiva durante una conversione singola. L'elenco resta vuoto durante la codifica. Per due o più file, RoundCut li invia al nostro server, che converte, comprime il risultato e restituisce un link di download. Quel link e i file convertiti vengono eliminati in circa 2 ore. Il percorso di una sola immagine gira interamente sul tuo dispositivo, fuori dalla rete, mentre il percorso a lotti lo scambia con la comodità di convertire molti file in una volta. Per immagini con contenuto delicato, come la cattura di un documento personale o una foto con dati di posizione, convertire una alla volta tiene tutto in locale.