Le SVG est une description XML de formes, et c'est pourquoi il tient à n'importe quelle taille. Le BMP, ce sont des pixels bruts non compressés, et c'est pourquoi les fichiers sont si gros. ImageMagick se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier SVG en route vers le BMP.
Ce qui s'exécute quand un fichier SVG devient un BMP
ImageMagick 6.9.12, sur une machine que nous louons et que nous surveillons. Votre fichier SVG est envoyé une fois, ImageMagick s'exécute une fois, le fichier BMP revient, et aucun des deux fichiers n'est conservé. SVG vers BMP 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 SVG dans le fichier BMP
Les dimensions en pixels de votre fichier SVG. Le BMP sort à la taille où le SVG est entré, parce que rien sur ce chemin ne redimensionne quoi que ce soit.
Chaque valeur de pixel. SVG et BMP sont tous deux sans perte, et le fichier BMP n'ajoute donc aucun artefact de compression que le SVG n'avait pas déjà.
Ce que la conversion SVG vers BMP vous coûte
La mise à l'échelle. Le SVG décrit des formes, le BMP stocke une grille de pixels, et le moteur rastérise à 150 points par pouce au passage. Cette densité est un choix délibéré : aux 72 ppp qu'ImageMagick prend par défaut, une page SVG au format A4 ressort large de 595 pixels et se lit comme une conversion ratée. Agrandissez le BMP ensuite et il devient flou, parce qu'il ne reste plus rien à redessiner.
La transparence. Le BMP n'a pas de canal alpha : le moteur compose donc votre image SVG sur du blanc avant d'encoder. Sans cette étape, ImageMagick pose du noir dessous, et un logo SVG transparent revient en rectangle noir.
Si un modèle doit lire le fichier BMP
Un fichier BMP, ce sont des pixels, et les pixels coûtent cher à lire pour un modèle. Avec ce BMP 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 SVG est surtout fait de mots, le geste utile est d'en extraire le texte, pas de changer le format d'image qui le porte.
SVG vers BMP, mesuré plutôt que promis
En passant SVG vers BMP sur le moteur réel avec un vrai fichier, ImageMagick a écrit 72 138 octets au format BMP en moins d'un dixième de seconde, machine par ailleurs au repos. C'est un fichier SVG un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict SVG vers BMP a été obtenu par une signature faible, c'est-à-dire que un ou deux octets seulement, ce qui est une vraie preuve mais laisse place à la coïncidence. 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 BMP contient.
Le même fichier SVG, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier SVG, pour que le coût du choix du format BMP 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 SVG.
SVG vers PDF : 4 195 octets en moins d'un dixième de seconde, vérifié par une signature de format.
SVG vers JPG : 2 483 octets en moins d'un dixième de seconde, vérifié par une signature de format.
SVG vers PNG : 1 268 octets en moins d'un dixième de seconde, vérifié par une signature de format.
SVG vers WEBP : 608 octets en moins d'un dixième de seconde, vérifié par une signature de format.
SVG vers GIF : 1 232 octets en 0,1 secondes, vérifié par une signature de format.
SVG vers TIFF : 2 464 octets en moins d'un dixième de seconde, vérifié par une signature de format.
Les autres routes vers BMP, et ce qu'elles ont mesuré
Parmi les routes publiées vers BMP, SVG est la septième plus grosse sortie des 10 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
TIFF vers BMP : 72 138 octets en moins d'un dixième de seconde.
WEBP vers BMP : 72 138 octets en moins d'un dixième de seconde.
PDF vers BMP : 313 138 octets en 0,1 secondes.
JPG vers BMP : 72 138 octets en moins d'un dixième de seconde.
PNG vers BMP : 72 138 octets en moins d'un dixième de seconde.
Ce que nous ne prétendrons pas sur SVG vers BMP
Un fichier SVG 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 SVG vers BMP 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 SVG nulle part sur ce chemin. Convertir une image en BMP 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 SVG vers BMP, pas un chiffre de brochure.
Un fichier SVG à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
SVG vers BMP : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier SVG en BMP ?
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 SVG est envoyé une fois, ImageMagick s'exécute une fois, le BMP revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion SVG vers BMP ?
Sur le fichier utilisé par la sonde, ImageMagick a mis moins d'un dixième de seconde et écrit 72 138 octets de BMP. C'est une mesure réelle sur un fichier SVG réel, pas une moyenne et pas une promesse sur le vôtre : un SVG 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 SVG au BMP ?
Celle qu'il faut connaître en premier : la mise à l'échelle. Le SVG décrit des formes, le BMP stocke une grille de pixels, et le moteur rastérise à 150 points par pouce au passage. Cette densité est un choix délibéré : aux 72 ppp qu'ImageMagick prend par défaut, une page SVG au format A4 ressort large de 595 pixels et se lit comme une conversion ratée. Agrandissez le BMP ensuite et il devient flou, parce qu'il ne reste plus rien à redessiner.
Pourquoi le fond transparent de mon SVG est-il devenu blanc dans le BMP ?
Parce que le BMP n'a pas de canal alpha et qu'il faut bien quelque chose derrière l'image. Le moteur y met du blanc exprès. Laissé à lui-même, ImageMagick y met du noir, et un logo SVG transparent revient en rectangle noir. Si vous tenez à la transparence, envoyez plutôt le SVG vers PNG ou WebP.
La conversion SVG vers BMP est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion SVG vers BMP 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 BMP moins bon.