Un SVG a ces propriétés, qui déterminent sa taille:
width="146.91299pt"
height="78.079002pt"
viewBox="0 0 146.913 78.079"
Je voudrais mettre à l'échelle un SVG donné à une 400pt
ligne de commande avec ou sans casser le rapport d'aspect. Cela signifie que les trois valeurs ci-dessus doivent être modifiées correctement et tous les points dans le code svg suivant. Je ne veux pas changer seulement la taille de la toile, mais la taille de l'image svg entière. Et je ne veux pas le faire avec une interface graphique / à la main, mais je veux le faire avec CLI.
Comment puis-je redimensionner automatiquement un SVG par ligne de commande à une largeur donnée?
Raison: l'aperçu de Wikipédia est mauvais si l'image est trop petite. Voyez cette image comme exemple.
Comment je ferais cette tâche avec Inkscape-GUI
- Maj + Ctrl + M (Transformation)
- Échelle (cochez "échelle proportionnelle")
- Entrez la largeur
- Maj + Ctrl + D (Propriétés du document)
- Ajuster la page à la sélection
Maintenant, je veux une méthode CLI automatique pour le faire.
Soit dit en passant, inkscape a simplement appliqué
<g transform="matrix(1.6838397,0,0,1.6838397,-3.3543029,-3.3542794)"
id="surface0">
à l'image entière.
width
, height
et les viewBox
valeurs à quelque chose comme width="100%" height="100%" viewBox="0 0 400 212.58569"
.
sed
dans la réponse de @ terdon). Un problème que vous pouvez rencontrer est que les valeurs doivent être différentes de celles des autres fichiers .svg auxquels vous souhaitez faire la même chose.