PNG vers JPG : qu’arrive-t-il à la transparence ?
Le JPG ne peut pas stocker la transparence. Convertir un PNG transparent en JPG remplit les zones transparentes d’une couleur unie, généralement le blanc.
Ce que la transparence stocke réellement
Une image PNG peut stocker un canal alpha en plus de ses informations de couleur. Ce canal alpha attribue à chaque pixel une valeur d’opacité : totalement opaque, totalement transparent ou partiellement transparent à n’importe quel niveau intermédiaire. C’est cette transparence partielle qui permet à une ombre douce de s’estomper progressivement et à un logo de s’intégrer proprement sur n’importe quel fond.
La transparence n’est pas une couleur. C’est l’absence de décision sur la couleur, enregistrée comme l’instruction d’afficher ce qui se trouve derrière. Pour que cette instruction survive, le format de fichier doit pouvoir la stocker.
Le JPG n’a pas de canal alpha
Le format JPG ne stocke que des informations de couleur, pas la transparence. Chaque pixel d’un JPG doit avoir une valeur de couleur réelle : le format n’a donc littéralement nulle part où enregistrer qu’un pixel doit être transparent.
Lorsqu’un PNG comportant des zones transparentes est converti en JPG, le convertisseur doit remplir ces pixels transparents d’une couleur de fond unie. La valeur par défaut est le blanc, car c’est le choix le plus sûr pour les documents, les formulaires et la plupart des photographies.
Le résultat est techniquement un JPG correct. Ce qui a changé, c’est que chaque pixel transparent porte désormais une couleur visible, et que cette couleur fait partie intégrante de l’image pour toujours.
Ce qu’il advient des pixels partiellement transparents
Les pixels totalement transparents prennent simplement la couleur de remplissage. Les pixels partiellement transparents sont mélangés, ou incrustés, sur cette couleur de remplissage. Une ombre douce à 50 % de transparence devient un gris légèrement clair lorsqu’elle est incrustée sur du blanc, et un gris plus foncé lorsqu’elle est incrustée sur du noir.
C’est pourquoi le même logo converti deux fois en JPG avec des couleurs de remplissage différentes peut sembler sensiblement différent. La couleur de remplissage n’apparaît pas seulement dans les vides : elle se mélange silencieusement à chaque contour semi-transparent.
Quand la couleur de remplissage compte
Un logo aux coins arrondis avec un fond transparent aura des coins blancs en JPG. Sur un site sombre, ces coins blancs seront visibles, et une ombre douce convertie en blanc ressemblera à un halo pâle. Conservez la version PNG pour ces situations.
Pour les photographies, les zones transparentes sont de toute façon généralement invisibles, ce qui explique la fréquence de la conversion photo vers JPG. Un portrait sans transparence se convertit en JPG sans aucun inconvénient.
Corriger les halos et les contours crénelés
Si un JPG converti présente une frange claire autour d’un logo ou d’un sujet détouré, la cause est presque toujours une incrustation sur la mauvaise couleur. La solution consiste à aplatir le PNG sur la couleur de fond réelle de destination avant la conversion, et non après.
Aplatir signifie composer définitivement l’image transparente sur une couleur unie, afin que les contours semi-transparents se fondent naturellement dans cette couleur. Aplatissez sur du gris foncé pour une page sombre, et les contours sembleront voulus plutôt qu’accidentels.
Conserver la transparence plutôt que la perdre
Si l’image a besoin de transparence, ne la convertissez pas en JPG. Conservez-la en PNG, ou encodez-la en WEBP, qui gère à la fois la transparence et la compression avec perte tout en produisant un fichier bien plus léger que le PNG.
Pour un usage web, un WEBP avec perte doté d’un canal alpha offre souvent le meilleur des deux mondes : fichier léger, fond transparent et prise en charge par tous les navigateurs modernes. Ne convertissez en JPG que lorsque vous maîtrisez le fond et que la taille du fichier compte plus que la transparence.
Vérifiez avant de remplacer l’original
Comparez le JPG converti avec le PNG en taille réelle. Examinez les contours où se trouvait la transparence, vérifiez que la couleur de remplissage correspond à la destination et assurez-vous que les ombres douces ne ressemblent pas à des rectangles.
Conservez le PNG comme fichier maître chaque fois que vous pourriez avoir besoin de transparence à nouveau. Une fois la transparence aplatie dans un JPG, aucune conversion ne pourra la rétablir : l’information est perdue.