Connaître les dimensions d'une image vectorielle

ImageMagick fournit un utilitaire (identify) qui nous permet de connaître les dimensions (hauteur et largeur) d'une image.

Son utilisation est très simple :

$ identify -format "%G" midori.svg
60x60

On a donc une image avec comme dimension :

  • hauteur : 60px
  • largeur : 60px

Vous le savez sans doute, mais un fichier .svg est tout simplement un fichier XML avec son propre espace de nom [1].

Bien souvent les dimensions sont mentionnées, il suffit de savoir les rechercher.

Si la bibliothèque libxml2 est installée sur votre système, vous pouvez utiliser l'utilitaire xmllin, qui va avec.

$ xmllint --noout --xpath "string(@width)" midori.svg
48

Dans cet exemple je recherche uniquement la largeur.

En comparant les deux méthodes, c'est la première fois que je tombe sur des résultats différents. Généralement ImageMagick donne de meilleur résultat [2].

Notes

[1] http://www.w3.org/TR/SVG11/

[2] L'attribut width n'est pas présent à chaque fois dans un fichier SVG.