Recherche de site Web

Comment convertir SVG en PNG dans un terminal Linux


Les fichiers SVG (Scalable Vector Graphics) sont couramment utilisés pour les logos, les icônes et les illustrations, car ils peuvent être redimensionnés sans perte de qualité.

Cependant, vous devez parfois convertir des fichiers SVG au format PNG (Portable Network Graphics) pour une meilleure compatibilité avec les sites Web ou les applications.

Sous Linux, il existe plusieurs façons d’effectuer facilement cette conversion, en utilisant à la fois des outils en ligne de commande et des applications graphiques.

1. Utilisation d’Inkscape

Inkscape est un puissant éditeur de graphiques vectoriels open-source qui prend en charge le format SVG et peut facilement être utilisé pour convertir des fichiers SVG au format PNG.

Si Inkscape n’est pas installé sur votre système, vous pouvez l’installer à l’aide des commandes suivantes basées sur votre distribution Linux :

sudo apt install inkscape         [On Debian, Ubuntu and Mint]
sudo yum install inkscape         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/inkscape  [On Gentoo Linux]
sudo apk add inkscape             [On Alpine Linux]
sudo pacman -S inkscape           [On Arch Linux]
sudo zypper install inkscape      [On OpenSUSE]    
sudo pkg install inkscape         [On FreeBSD]

Une fois installé, vous pouvez utiliser la commande suivante pour convertir le fichier SVG en PNG.

inkscape input.svg --export-type=png --export-filename=output.png --export-dpi=300

2. Utilisation d’ImageMagick

ImageMagick est un outil polyvalent qui peut convertir des images entre différents formats, y compris SVG en PNG à partir de la ligne de commande.

Si ImageMagick n’est pas installé sur votre système, vous pouvez l’installer à l’aide des commandes suivantes basées sur votre distribution Linux :

sudo apt install imagemagick         [On Debian, Ubuntu and Mint]
sudo yum install ImageMagick         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/imagemagick  [On Gentoo Linux]
sudo apk add imagemagick             [On Alpine Linux]
sudo pacman -S imagemagick           [On Arch Linux]
sudo zypper install imagemagick      [On OpenSUSE]    
sudo pkg install imagemagick         [On FreeBSD]

Une fois ImageMagick installé, vous pouvez convertir des fichiers SVG en PNG en exécutant :

convert input.svg output.png

Si vous souhaitez définir une résolution personnalisée pour le fichier PNG de sortie, utilisez l’option -density.

convert -density 300 input.svg output.png

3. Utilisation de rsvg-convert (partie de librsvg)

rsvg-convert est un outil en ligne de commande qui fait partie du package librsvg, qui est léger et spécialement conçu pour la conversion de fichiers SVG.

Si rsvg-convert : n’est pas installé sur votre système, vous pouvez l’installer à l’aide des commandes suivantes basées sur votre distribution Linux :

sudo apt install librsvg2-bin         [On Debian, Ubuntu and Mint]
sudo yum install librsvg2-tools       [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a gnome-base/librsvg     [On Gentoo Linux]
sudo apk add librsvg                  [On Alpine Linux]
sudo pacman -S librsvg                [On Arch Linux]
sudo zypper install librsvg2-tools    [On OpenSUSE]    
sudo pkg install librsvg2             [On FreeBSD]

Une fois rsvg-convert installé, vous pouvez convertir un fichier SVG en PNG en exécutant la commande suivante :

rsvg-convert -o output.png input.svg

Vous pouvez spécifier la largeur ou la hauteur de l’image de sortie à l’aide de -w (largeur) ou -h (hauteur) :

rsvg-convert -w 800 -h 600 -o output.png input.svg

4. Conversion par lots de SVG en PNG

Si vous avez plusieurs fichiers SVG et que vous souhaitez tous les convertir en PNG en une seule fois, vous pouvez utiliser une simple boucle shell.

Utilisation d’Inkscape :

for file in *.svg; do
  inkscape "$file" --export-type=png --export-filename="${file%.svg}.png"
done

Utilisation d’ImageMagick :

for file in *.svg; do
  convert "$file" "${file%.svg}.png"
done

Cette boucle convertira tous les fichiers .svg du répertoire courant en .png.

Conclusion

La conversion de SVG en PNG sous Linux est une tâche simple qui peut être effectuée à l’aide de divers outils. Que vous préfériez un outil graphique comme Inkscape, la flexibilité d’ImageMagick, ou un outil de ligne de commande rapide comme rsvg-convert, Linux fournit plusieurs méthodes simples pour cette conversion.

Articles connexes: