Notes de l'equip sobre artesania, formats i les petites decisions darrere d'un bon resultat.
Per què els PNG fotogràfics són tan grans
La compressió PNG sense pèrdua desa cada píxel exactament. Per a una imatge fotogràfica amb milions de tons que varien subtilment, això produeix fitxers molt grans perquè gairebé no hi ha res a deduplicar ni a predir entre píxels veïns. Una foto típica de 1600x1200 es desa com un PNG de several megabytes. La mateixa imatge com a JPEG a qualitat 85 cau a entre 200 i. Aquesta diferència ve de la transformada de cosinus discreta al cor del JPEG, que treballa en blocs de 8x8 píxels, descarta el detall d'alta freqüència al qual el sistema visual humà és menys sensible i codifica de manera compacta els coeficients restants. El resultat és un fitxer molt més petit per a qualsevol imatge amb variació de to continu, que és essencialment cada foto. La garantia sense pèrdua del PNG és valuosa per a gràfics i fitxers de treball, però és el contenidor equivocat per a fotografies destinades a compartir-se.
La transparència i el canal alfa
El PNG admet un suport de transparència complet de 8 bits, és a dir, cada píxel pot anar de totalment transparent a totalment opac. El JPG no defineix cap informació alfa, ja que el seu contenidor no té cap camp per a transparència per píxel. Quan el motor d'imatge de la plataforma desa de nou un PNG com a JPEG, composa el suport de transparència sobre un color de fons abans del pas de desament. El fons per defecte és blanc, per això les àrees transparents d'un PNG apareixen blanques al JPG resultant. El punt clau és que cap eina pot produir un JPG transparent, perquè el format no admet el concepte. Si conservar la retallada importa, la resposta és WebP o conservar el PNG. RoundCut tria el blanc com a color d'aplanat ja que coincideix amb el fons de la majoria de documents i fitxes de producte.
Rendiment de desament mesurat
Mesurat amb Chrome 148, escriptori Linux, fent servir el camí de desament JPEG de la plataforma. Una imatge de 400x300 (0,12 MP) es desa en aproximadament 10 a 15 mil·lisegons. Una imatge de 1024x768 (0,78 MP) es desa en uns 13 a 20 mil·lisegons. Una imatge de 3840x2160 (8 MP) es desa en aproximadament 1,4 segons. Una imatge de 8000x6000 (48 MP) es desa en uns 1,5 segons. El desament en JPEG al navegador és substancialment més ràpid que el desament en PNG per a la mateixa imatge, i molt més ràpid que l'AVIF, que necessita un mòdul a part i pot trigar 25 segons a 48 MP fins i tot en un Chrome d'escriptori. Aquest avantatge de velocitat fa que PNG a JPG sigui un dels camins de conversió més ràpids d'aquesta família, sense cap cost extra de baixada perquè el desament en JPEG ve integrat a cada navegador.
Gestió d'EXIF i metadades
El procés de redesament elimina les metadades EXIF, IPTC i XMP de la sortida JPG a cada navegador. Això vol dir que les coordenades d'ubicació, el model de càmera, la data de captura, l'avís de drets d'autor i qualsevol camp personalitzat present al PNG d'origen s'eliminen. Els perfils de color ICC segueixen un camí diferent, on Chrome i Safari conserven el perfil sRGB ICC a la sortida mentre que Firefox l'elimina del tot. El resultat pràctic és que el JPG convertit és segur en sRGB a tots els navegadors, però si el teu PNG estava etiquetat amb un perfil de gamma ampla com Display-P3 o Adobe RGB, aquesta etiqueta no sobreviu a Firefox. Si conservar metadades completes és un requisit del teu flux de treball, edita-les amb una eina dedicada després de convertir. Per a un ús web i de compartició habitual, eliminar les metadades és útil perquè redueix una mica el fitxer i treu les dades GPS de les fotos.
Quan són visibles els artefactes del JPG
La compressió JPEG treballa en blocs de 8x8 píxels. Quan la imatge d'origen conté una transició dura entre dos colors molt diferents dins d'un sol bloc, el pas de compressió JPEG aproxima aquesta transició amb coeficients de freqüència limitats. El resultat són halos, una aurèola de píxels més clars o més foscos al voltant de la vora. En fotografies això és invisible, perquè les vores mai són perfectament nítides i les fotos reals porten una microvariació que encaixa bé amb aquesta aproximació. En captures de pantalla, logotips, elements d'interfície amb vores dures, text o blocs de color pla adjacents, els halos es veuen clarament a qualsevol ajust de qualitat, perquè aquests elements són exactament el tipus de senyal que l'algoritme gestiona malament. El consell és senzill, no converteixis captures de pantalla, logotips ni imatges amb molt text a JPG. Conserva'ls com a PNG, o fes servir WebP per a un fitxer més petit que evita el problema del tot.
La privadesa a la pràctica
On passa la conversió depèn del nombre de fitxers. Per a una sola imatge, cap dada surt del navegador, i és verificable en temps real. La llista queda buida durant la codificació. Per a dos fitxers o més, RoundCut els envia al nostre servidor, que converteix, comprimeix el resultat i retorna un enllaç de baixada. Aquest enllaç i els fitxers convertits s'esborren en unes 2 hores. El camí d'una sola imatge corre del tot al teu dispositiu, fora de la xarxa, mentre que el camí per lots ho canvia per la comoditat de convertir molts fitxers de cop. Per a imatges amb contingut delicat, com la captura d'un document personal o una foto amb dades d'ubicació, convertir d'una en una manté tot en local.