Le HEIC est ce qu'écrit un iPhone tant qu'on ne lui dit pas le contraire : de la compression HEVC dans un conteneur ISO, environ la moitié du poids du JPEG qu'il remplace. Le PNG est une compression sans perte, avec un vrai canal alpha sur 8 bits. ImageMagick se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier HEIC en route vers le PNG.
Ce qui s'exécute quand un fichier HEIC devient un PNG
ImageMagick 6.9.12, sur une machine que nous louons et que nous surveillons. Votre fichier HEIC est envoyé une fois, ImageMagick s'exécute une fois, le fichier PNG revient, et aucun des deux fichiers n'est conservé. HEIC 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 HEIC dans le fichier PNG
Les dimensions en pixels de votre fichier HEIC. Le PNG ressort à la taille où le HEIC est entré, parce que rien sur ce chemin ne redimensionne quoi que ce soit.
La transparence. Le HEIC et le PNG portent tous deux un vrai canal alpha : un détourage envoyé en HEIC reste un détourage en PNG.
Ce que la conversion HEIC vers PNG vous coûte
Toutes les pages du HEIC sauf la première. Un fichier HEIC peut porter plusieurs images dans un seul conteneur ; un fichier PNG en porte exactement une.
Rien de plus, et c'est justement ce qu'il faut dire : le PNG ne peut pas rendre ce que le HEIC 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 lourd 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. Devant ce PNG, 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 HEIC est surtout du texte, le geste utile est d'en extraire les mots, pas de changer le format d'image qui les contient.
HEIC vers PNG, mesuré plutôt que promis
En passant HEIC vers PNG sur le moteur réel avec un vrai fichier, ImageMagick a écrit 1 403 octets au format PNG en moins d'un dixième de seconde, machine par ailleurs au repos. C'est un fichier HEIC un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict HEIC 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 HEIC, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier HEIC, 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 HEIC.
HEIC vers PDF : 94 782 octets en moins d'un dixième de seconde, vérifié par une signature de format.
HEIC vers JPG : 1 666 octets en moins d'un dixième de seconde, vérifié par une signature de format.
HEIC vers WEBP : 416 octets en moins d'un dixième de seconde, vérifié par une signature de format.
HEIC vers GIF : 2 918 octets en 0,1 secondes, vérifié par une signature de format.
HEIC vers TIFF : 90 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, HEIC est la quatrième plus grosse sortie des 13 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
JPG vers PNG : 805 octets en moins d'un dixième de seconde.
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.
Ce que nous ne prétendrons pas sur HEIC vers PNG
Un fichier HEIC 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 HEIC 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.
Jusqu'à fin août, cette machine ne savait pas lire un HEIC du tout, et annonçait le contraire. ImageMagick déclarait le HEIC lisible, mais libheif ne portait que ses greffons AV1, qui servent l'AVIF ; le décodeur HEVC était absent, et un HEIC se décodait discrètement comme autre chose. Le greffon a été installé le 30, et c'est toute la raison d'être de cette paire.
La preuve HEIC vers PNG a utilisé un fichier réellement encodé en HEVC, et ce détail n'est pas du pédantisme : ImageMagick refuse d'écrire du HEIC et vous rend un PNG sous ce nom si vous le lui demandez, si bien qu'un HEIC fabriqué pour le test aurait fait passer un faux résultat pour un vrai. Le PNG produit pesait 1 403 octets, reconnu par une signature de format.
Aucun texte n'est lu dans le HEIC nulle part sur ce chemin. Convertir une image en PNG ne la transforme jamais en mots, quoi que l'image contienne.
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 HEIC vers PNG, pas un chiffre de brochure.
Un fichier HEIC à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
HEIC vers PNG : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier HEIC 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 HEIC 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 HEIC vers PNG ?
Sur le fichier utilisé par la sonde, ImageMagick a mis moins d'un dixième de seconde et écrit 1 403 octets de PNG. C'est une mesure réelle sur un fichier HEIC réel, pas une moyenne et pas une promesse sur le vôtre : un HEIC 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 HEIC au PNG ?
Celle qu'il faut connaître en premier : toutes les pages du HEIC sauf la première. Un fichier HEIC peut porter plusieurs images dans un seul conteneur ; un fichier PNG en porte exactement une.
Mon HEIC contient plusieurs images. Laquelle revient ?
La première. Un fichier HEIC peut transporter plusieurs images dans un même conteneur là où un fichier PNG n'en porte qu'une, donc le moteur prend la première plutôt que d'inventer une façon de vous rendre les autres.
La conversion HEIC vers PNG est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion HEIC 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.