Notities van het team over vakmanschap, formaten en de kleine beslissingen achter een goed resultaat.
Waarom fotografische PNG's zo groot zijn
De verliesvrije PNG-compressie bewaart elke pixel exact. Bij een fotografisch beeld met miljoenen subtiel variërende tonen levert dat erg grote bestanden op, omdat er tussen naburige pixels bijna niets te ontdubbelen of te voorspellen valt. Een gewone foto van 1600x1200 wordt opgeslagen als een PNG van several megabytes. Hetzelfde beeld als JPEG bij kwaliteit 85 landt op 200 tot. Dat verschil komt van de discrete cosinustransformatie in het hart van JPEG, die in blokken van 8x8 pixels werkt, hoogfrequente details weggooit waar het menselijke gezichtsvermogen het minst gevoelig voor is, en de overige coëfficiënten compact codeert. Het resultaat is een veel kleiner bestand voor elk beeld met continue toonvariatie, wat in wezen elke foto is. De verliesvrije garantie van PNG is waardevol voor afbeeldingen en werkbestanden, maar het is de verkeerde verpakking voor foto's die uitgaan om te delen.
Transparantie en het alfakanaal
PNG ondersteunt een volledig 8-bits transparantiekanaal, wat betekent dat elke pixel van volledig transparant tot volledig dekkend kan zijn. JPG definieert helemaal geen alfa-informatie, omdat zijn verpakking geen veld voor transparantie per pixel heeft. Wanneer de beeld-engine van het systeem een PNG als JPEG opslaat, plaatst het het transparantiekanaal vóór de opslagstap over een achtergrondkleur. De standaardachtergrond is wit, daarom verschijnen transparante delen in een PNG wit in de resulterende JPG. Het kernpunt is dat geen enkele tool een transparante JPG kan maken, omdat het formaat het concept niet ondersteunt. Als het behouden van de uitsnede telt, is het antwoord WebP of de PNG houden. RoundCut kiest wit als vulkleur, omdat die past bij de achtergrond van de meeste documenten en productvermeldingen.
Gemeten opslagprestaties
Gemeten op Chrome 148, Linux-desktop, via het JPEG-opslagpad van het systeem. Een beeld van 400x300 (0,12 MP) wordt in ongeveer 10 tot 15 ms opgeslagen. Een beeld van 1024x768 (0,78 MP) wordt in ongeveer 13 tot 20 ms opgeslagen. Een beeld van 3840x2160 (8 MP) wordt in ongeveer 1,4 seconde opgeslagen. Een beeld van 8000x6000 (48 MP) wordt in ongeveer 1,5 seconde opgeslagen. Een JPG opslaan in de browser is aanzienlijk sneller dan een PNG van hetzelfde beeld opslaan, en veel sneller dan AVIF, dat een aparte module nodig heeft en bij 48 MP zelfs op desktop-Chrome 25 seconden kan duren. Dit snelheidsvoordeel maakt PNG naar JPG een van de snelste omzetpaden in deze familie, zonder extra downloadkosten omdat het opslaan als JPEG in elke browser is ingebouwd.
Omgang met EXIF en metadata
De opslagpijplijn verwijdert EXIF, IPTC en XMP uit de uitgevoerde JPG in elke browser. Dat betekent dat locatiecoördinaten, cameramodel, opnamedatum, copyrightvermelding en alle aangepaste velden die in de bron-PNG aanwezig zijn, worden verwijderd. ICC-kleurprofielen volgen een ander pad, waarbij Chrome en Safari het sRGB-ICC-profiel in de uitvoer behouden terwijl Firefox het volledig verwijdert. Het praktische resultaat is dat de omgezette JPG in alle browsers sRGB-veilig is, maar als je PNG was getagd met een breed kleurprofiel zoals Display-P3 of Adobe RGB, overleeft die tag niet in Firefox. Als het behouden van volledige metadata een vereiste van je werkstroom is, bewerk die dan na de omzetting met een speciaal hulpmiddel. Voor gangbaar web- en deelgebruik is het verwijderen van metadata nuttig, omdat het het bestand iets verkleint en GPS-gegevens uit foto's haalt.
Wanneer JPG-artefacten zichtbaar zijn
JPEG-compressie werkt in blokken van 8x8 pixels. Wanneer het bronbeeld binnen één blok een harde overgang tussen twee zeer verschillende kleuren bevat, benadert de JPEG-compressie die overgang met beperkte frequentiecoëfficiënten. Het resultaat is ringvorming, een halo van lichtere of donkerdere pixels rond de rand. In foto's is dit onzichtbaar, omdat randen nooit perfect scherp zijn en echte foto's microvariatie dragen die deze benadering goed treft. In schermafbeeldingen, logo's, UI-elementen met harde randen, tekst of aangrenzende effen kleurvlakken is de ringvorming bij elk kwaliteitsniveau duidelijk zichtbaar, omdat die elementen precies het soort signaal zijn dat het algoritme slecht verwerkt. Het advies is eenvoudig, zet schermafbeeldingen, logo's of tekstrijke beelden niet om naar JPG. Houd ze als PNG of gebruik WebP voor een kleiner bestand dat het probleem volledig vermijdt.
Privacy in de praktijk
Waar de conversie gebeurt, hangt af van het aantal bestanden. Bij één afbeelding verlaten er geen gegevens de browser, en dat is in real time te controleren. De lijst blijft leeg tijdens het coderen. Bij twee of meer bestanden stuurt RoundCut ze naar onze server, die omzet, het resultaat inpakt en een downloadlink teruggeeft. Die link en de omgezette bestanden worden binnen ongeveer 2 uur verwijderd. Het pad voor één afbeelding draait volledig op je apparaat, buiten het netwerk, terwijl het batchpad dat inruilt voor het gemak van veel bestanden in één stap. Bij afbeeldingen met gevoelige inhoud, zoals een screenshot van een persoonlijk document of een foto met locatiegegevens, houdt één voor één omzetten alles lokaal.