PNG draaien

Laad een PNG-bestand in en draai het met 90, 180 of 270 graden. Omdat PNG een verliesvrij formaat is, kunt u het zo vaak draaien als u wilt zonder dat de kwaliteit afneemt – in tegenstelling tot JPG, waar herhaald herencoderen artefacten veroorzaakt. De transparantie blijft behouden, en bij veelvouden van 90 graden worden de afmetingen automatisch omgekeerd (1920×1080 wordt 1080×1920).

Hoe PNG-rotatie werkt

  1. 1

    De PNG decoderen

    De gedeflateerde en gecomprimeerde pixeldata wordt ongecomprimeerd in een raw ARGB-buffer.

  2. 2

    De buffer roteren

    De pixels worden opnieuw gericht volgens de nieuwe oriëntatie: bij een verschuiving van 90° worden rijen en kolommen omgekeerd; bij een verschuiving van 180° worden beide omgekeerd.

  3. 3

    Herencodeer als PNG

    De gedraaide pixelbuffer wordt met deflate opnieuw gecomprimeerd; het resultaat is altijd verliesvrij.

  4. 4

    Transparantie behouden

    Het alfakanaal wordt samen met de RGB-kanalen gedraaid, zodat transparante gebieden transparant blijven.

Waarom de rotatie van PNG-bestanden altijd verliesvrij is

PNG codeert pixels precies, zonder kwantisatie en zonder 8×8 DCT-blokken zoals bij JPEG. Een rotatie met een veelvoud van 90 graden betekent slechts een andere adressering van de pixels; de kleurwaarden blijven gelijk. Zelfs willekeurige hoeken behouden de gegevenskwaliteit, mits je een geschikte resampling-filter gebruikt (bijvoorbeeld bicubic of Lanczos) in plaats van de dichtstbijzijnde-buren-filter.

Opties voor rotatie

Operatie Verandering in breedte/hoogte Veelgebruikt
90° rechtsom Verwisseld Staande foto naar liggend
180° Onveranderd Omgekeerde scan, ondersteboven opname
270° rechtsom Verwisseld Liggend naar staand, andersom
Elke hoek Groeit om te passen Een scheve scan of foto rechtzetten

Bestandsgrootte na rotatie

De deflate-compressie van PNG is gevoelig voor rijgewijze redundantie. Een landschapsfoto met voornamelijk horizontale randen wordt efficiënt gecomprimeerd, omdat aangrenzende rijen vaak vergelijkbaar zijn. Wanneer de foto met 90 graden wordt gedraaid, worden deze randen verticaal; hierdoor daalt de compressiegraad voor fotografisch materiaal aanzienlijk.

Type inhoud Typische afmetingsverandering na een draaiing van 90°
Grafische elementen in een vaste kleur <1% verandering
UI-schermbeelden Verandering van 1–5%
Foto’s (gecodeerd in PNG-formaat) tot 15–20% groter
Transparante UI-elementen Verwaarloosbaar

Voor foto’s is JPG een beter formaat, ongeacht de oriëntatie. Als een PNG-foto na rotatie aanzienlijk in grootte toeneemt, is het verstandig deze om te zetten naar JPG.

Transparantie

Geheel transparante, halftransparante en ondoorzichtige pixels worden allemaal samen geroteerd; het alfa-kanaal volgt de RGB-kanalen. Een logo met een zachte schaduw blijft na rotatie identiek – de schaduw wijst nu alleen in de andere richting.

Wanneer draaien in de browser versus in CSS

  • Draai het bestand wanneer de afbeelding op schijf de verkeerde oriëntatie heeft, wordt geüpload naar een plek die rotatiemetadata negeert, of wordt afgedrukt.
  • Draai in CSS met transform: rotate(...) wanneer u alleen een tijdelijke visuele rotatie op een webpagina nodig hebt. Het bestand blijft ongewijzigd; de browser stelt de rotatie samen.

Meerdere rotaties

Met PNG kunt u rotaties vrijwel onbeperkt op elkaar laten volgen. Een reeks van 90°, 90°, 90° en 90° leidt terug tot exact de oorspronkelijke bytes (tenminste wat de pixelinhoud betreft; de encoderparameters kunnen enkele bytes verschillen). JPG biedt die garantie niet vanwege verlies tijdens herencodering.

Metagegevens

PNG kan tekstfragmenten (tEXt, iTXt, zTXt) met auteur, auteursrecht of ingebedde notities bevatten. Dit hulpmiddel draait door de pixels op een canvas opnieuw te tekenen en een nieuw PNG te exporteren, dus die tekstfragmenten worden niet meegenomen naar het gedraaide bestand. Als u ingebedde metadata wilt behouden, draai dan met een hulpmiddel dat de fragmenten kopieert, of voeg de metadata achteraf opnieuw toe.

Veelgestelde vragen

Ja – iets. De compressie van PNG is rijgevoelig; een rotatie van 90 graden kan de bestandsgrootte met 1 tot 20% veranderen, afhankelijk van de inhoud van het beeld.

Ja. PNG codeert pixels precies, waardoor rotatie en opnieuw opslaan nooit leidt tot een kwaliteitsverlies, in tegenstelling tot JPG.

Ja. Het alfakanaal wordt samen met de RGB-kanalen gedraaid, zodat transparante gebieden transparant blijven.

Het hulpmiddel ondersteunt willekeurige hoeken met anti-aliasing bij herresampling. De rotatie blijft verliesvrij wat betreft kleurgetrouwheid, maar de randen worden anti-aliasd in plaats van perfect afgerond.

Nee: decodering, rotatie en herencodering worden allemaal uitgevoerd in de browser met behulp van een canvas en een PNG-encoder.

Gerelateerde tools

Tool beschikbaar in andere talen