Le JPEG est une compression avec perte réglée pour la vision humaine, et aucun canal alpha. Le PNG est une compression sans perte, avec un canal alpha complet sur 8 bits. ImageMagick se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier JPG en route vers le PNG.
Ce qui s'exécute quand un fichier JPG devient un PNG
ImageMagick 6.9.12, sur une machine que nous louons et que nous surveillons. Votre fichier JPG est envoyé une fois, ImageMagick s'exécute une fois, le fichier PNG revient, et aucun des deux fichiers n'est conservé. JPG vers PNG fait partie des 3649 paires sur lesquelles ce moteur a été sondé avec un vrai fichier, et c'est pour cela que cette page existe quand celles que la sonde n'a pas su prouver n'existent pas.
Ce qui survit du fichier JPG dans le fichier PNG
Les dimensions en pixels de votre fichier JPG. Le PNG sort à la taille où le JPG est entré, parce que rien sur ce chemin ne redimensionne quoi que ce soit.
Ce que la conversion JPG vers PNG vous coûte
Rien de plus, et c'est justement ce qu'il vaut la peine de dire : le PNG ne sait pas défaire ce que le JPG a déjà jeté. Les artefacts de compression sont cuits dans les pixels, le PNG les stocke fidèlement, et le fichier ressort en général plusieurs fois plus gros pour exactement la même image.
Si un modèle doit lire le fichier PNG
Un fichier PNG, ce sont des pixels, et les pixels coûtent cher à lire pour un modèle. Avec ce PNG entre les mains, un assistant dépense son budget à regarder l'image plutôt qu'à la lire, et il paraphrasera ce qu'il croit avoir vu. Si votre JPG est surtout fait de mots, le geste utile est d'en extraire le texte, pas de changer le format d'image qui le porte.
JPG vers PNG, mesuré plutôt que promis
En passant JPG vers PNG sur le moteur réel avec un vrai fichier, ImageMagick a écrit 805 octets au format PNG en moins d'un dixième de seconde, machine par ailleurs au repos. C'est un fichier JPG un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict JPG vers PNG a été obtenu par une signature de format, c'est-à-dire que au moins quatre octets propres au format ont été trouvés au bon décalage. Le contrôle employé compte, parce qu'ils ne prouvent pas tous la même chose, et un code de statut 200 ne prouve strictement rien sur ce que le fichier PNG contient.
Le même fichier JPG, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier JPG, pour que le coût du choix du format PNG se lise face à quelque chose. Les tailles ne se comparent pas d'un moteur à l'autre, chaque famille ayant été sondée avec son propre fichier témoin JPG.
JPG vers PDF : 4 232 octets en moins d'un dixième de seconde, vérifié par une signature de format.
JPG vers WEBP : 350 octets en moins d'un dixième de seconde, vérifié par une signature de format.
JPG vers GIF : 3 487 octets en 0,1 secondes, vérifié par une signature de format.
JPG vers TIFF : 72 264 octets en moins d'un dixième de seconde, vérifié par une signature de format.
Les autres routes vers PNG, et ce qu'elles ont mesuré
Parmi les routes publiées vers PNG, JPG est la 12e plus grosse sortie des 13 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
WEBP vers PNG : 4 003 octets en moins d'un dixième de seconde.
SVG vers PNG : 1 268 octets en moins d'un dixième de seconde.
GIF vers PNG : 3 894 octets en moins d'un dixième de seconde.
BMP vers PNG : 810 octets en moins d'un dixième de seconde.
TIFF vers PNG : 815 octets en moins d'un dixième de seconde.
Ce que nous ne prétendrons pas sur JPG vers PNG
Un fichier JPG de plus de 25 Mo est refusé avant la fin de l'envoi plutôt qu'après, pour que vous n'attendiez pas un refus.
Une conversion JPG vers PNG qui dépasse 30 secondes est tuée, et le processus ImageMagick avec elle. Une exécution abandonnée resterait posée sur l'un des deux cœurs de la machine jusqu'à ce que quelqu'un le remarque.
Aucun texte n'est extrait du JPG nulle part sur ce chemin. Convertir une image en PNG ne la transforme jamais en mots, quoi que cette image porte.
ImageMagick n'était pas saturé à seize conversions simultanées : il a tenu 47,5 par seconde pendant que la latence passait de 0,22 s à 0,34 s, et la mémoire du service n'a pas bougé de 51 Mo. C'est la marge mesurée derrière JPG vers PNG, pas un chiffre de brochure.
Un fichier JPG à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
JPG vers PNG : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier JPG en PNG ?
C'est ImageMagick qui s'en charge, en 6.9.12, sur une machine que nous louons et que nous surveillons. Ni astuce de navigateur, ni service d'un tiers : le fichier JPG est envoyé une fois, ImageMagick s'exécute une fois, le PNG revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion JPG vers PNG ?
Sur le fichier utilisé par la sonde, ImageMagick a mis moins d'un dixième de seconde et écrit 805 octets de PNG. C'est une mesure réelle sur un fichier JPG réel, pas une moyenne et pas une promesse sur le vôtre : un JPG plus gros prend plus longtemps, et au-delà de 30 secondes l'exécution est arrêtée.
Qu'est-ce que je perds en passant du JPG au PNG ?
Celle qu'il faut connaître en premier : rien de plus, et c'est justement ce qu'il vaut la peine de dire : le PNG ne sait pas défaire ce que le JPG a déjà jeté. Les artefacts de compression sont cuits dans les pixels, le PNG les stocke fidèlement, et le fichier ressort en général plusieurs fois plus gros pour exactement la même image.
Pourquoi le PNG est-il plus gros que le JPG dont il vient ?
Parce que le JPG est un encodage avec perte et que le PNG ne l'est pas. Le JPG a atteint sa taille en jetant du détail ; le PNG stocke chaque pixel qu'on lui remet, artefacts de compression compris, si bien que la même image ressort plusieurs fois plus grosse. Rien n'a été ajouté, et aucune qualité n'a été récupérée.
La conversion JPG vers PNG est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion JPG vers PNG coûte un demi-crédit dessus. Quand la franchise est épuisée, l'outil le dit et s'arrête, plutôt que de vous remettre discrètement un PNG moins bon.