Existe-t-il des programmes en ligne de commande capables de convertir un fichier SVG en fichier PNG fonctionnant sous Mac OS X?
Edit : Dylan B avait une bonne réponse avec ImageMagick. Pour référence, pour installer ImageMagick avec le support SVG sur Mac OS X avec MacPorts, ne
port install imagemagick +rsvg
macos
command-line
png
svg
Lorin Hochstein
la source
la source
pip3 install cairosvg
Réponses:
Ou sans rien installer:
Il produira un fichier picture.svg.png d'une largeur de 1000 pixels.
Je l'ai testé uniquement sur OS X 10.6.3.
la source
qlmanage -t
donne la vignette utilisée par Quick Look (dans le Finder, etc.). Idée brillante. Malheureusement, ces miniatures peuvent être boguées, en particulier lorsque du texte est impliqué.rsvg-convert
de la réponse de @ ahti fonctionnait auparavant pour moi.-s
option ne fonctionnait pas pour moi. Le recadre toujours en carré. Très frustrant!J'ai trouvé que pour moi le meilleur outil pour le travail est
rsvg-convert
.On peut le trouver en infusion avec
brew install librsvg
et est utilisé comme ceci:(Cet exemple crée un png de 32px de haut. La largeur est déterminée automatiquement.
la source
convert
erreurs et n'a pas réussi à dissimuler un fichier SVG complexeqlmanage
réponse a fonctionné pour tous, mais mettez un fond blanc, ce que je ne veux pas.rsvg-convert
.png obtenu avait les bonnes dimensions, mais l’image était entièrement noire au lieu des couleurs originales. Avecqlmanage
l'image est recadrée à un carré. Toujours à la recherche d'une solution :-(ImageMagick est un éditeur d'images en ligne de commande extrêmement polyvalent, qui rivaliserait probablement avec Photoshop s'il possédait une interface graphique. Mais qui a besoin de toute façon? : P
Quelque chose comme ce qui suit pourrait convertir un fichier .svg en .png, après l'installation:
Le fichier .svg d'origine n'est pas supprimé.
la source
display
.Inkscape avec son interface en ligne de commande produit les meilleurs résultats pour moi:
La bonne chose est que vous pouvez spécifier la taille exacte en pixels de l’image obtenue, sans avoir à vous soucier de la densité.
la source
inkscape $(pwd)/logo.svg --export-png $(pwd)/logo.png
OK, j'ai trouvé un moyen simple de le faire sur Mac si vous avez Google Chrome.
En une phrase, il s'agit de voir l'
svg
image dans une page Web (doit être dans unhtml
fichier), faites un clic droit sur l'image et choisissez "Copier l'image" et collez-la dans l'application Aperçu.Pas:
svg
fichier sur votre disque dur, par exemple,somefile.svg
tmp.html
contenant cette ligne:<img src="somefile.svg">
"File -> New from Clipboard"
File -> Save
le fichier et vous avez lepng
fichier. (ou d'autres types de fichiers).Ceci est testé sur le Chrome actuel (version 48.0) sur Mac OS X El Capitan.
Mise à jour : je ne sais pas si cela est dû à une restriction imposée par Google Chrome. Je viens d’essayer un fichier SVG avec Chrome 58.0, et j’obtiens une petite image de la méthode ci-dessus. Si vous voyez ce cas aussi, vous pouvez aussi utiliser
et vous aurez une image à l'écran qui vous permettra de faire une capture d'écran - en utilisant CmdShift4ou CmdShift3sur le Mac, par exemple. Assurez-vous de redimensionner votre fenêtre Chrome au maximum autorisé à l'écran.
la source
Si vous voulez en faire plusieurs à la fois, vous pouvez:
mogrify -format png *.svg
Il y a aussi des options pour redimensionner etc. à la volée.
la source
mogrify
est également à l'image d'ImageMagick.Essayez Apache Batik .
Il prend également en charge la conversion par lots et propose de nombreuses autres options utiles.
la source
J'ai créé svgexport en utilisant node / npm pour cela, il est multi-plateforme et peut être aussi simple que:
la source
Vous pouvez également utiliser phantomjs pour rendre le svg. L'avantage est qu'il le rend comme le ferait un navigateur puisqu'il s'agit essentiellement d'un WebKit sans tête.
Une fois que vous l'avez téléchargé, vous devez disposer de phantomjs (binary) et du fichier rasterizer.js du dossier examples.
la source
brew cask install phantomjs
. Dans mon installation, le dossier des exemples était situé dans le chemin/usr/local/Caskroom/phantomjs/2.1.1/phantomjs-2.1.1-macosx/examples/
.C'est ce que j'ai utilisé:
brew install imagemagick --with-librsvg
Puis exécutez les commandes suivantes:
find . -type f -name "*.svg" -exec bash -c 'convert $0 $0.png' {} \; rename 's/svg\.png/png/' *
J'espère que ça aide.
la source
J'utilise cette commande sur mon linux. Cela devrait fonctionner pour vous aussi.
J'ai appris que sans l'argument "-density", le bitmap serait très pixelisé. Modifiez la valeur de densité pour répondre à vos besoins.
la source
La commande convert d'ImageMagick, utilisant d'autres paramètres, est ce qui me l'a fait. Voici ma solution de script batch Bash qui divise la tâche en plusieurs processus pour utiliser tous vos cœurs! Modifier au besoin.
batchConvertToSVG.sh (prend le nombre de processus en argument):
convertToSvgHelper.sh:
la source
Comme commenté précédemment ImageMagick fait le tour. Je voulais juste ajouter un point pour GraphicsMagick , un ancien fork d’ImageMagick qui apporte quelques améliorations (et beaucoup moins de dépendances excessives lorsqu’il est installé via fink).
la source
Vous pouvez effectuer une conversion par lots sur un dossier entier de fichiers SVG au format PNG. J'ai utilisé l'interface de ligne de commande Inkscape pour générer des fichiers png d'une largeur de 80 pixels.
png sera enregistré avec le nom d'origine * .png
la source
Encore une autre méthode sans rien installer. Pas en ligne de commande cependant.
<svg>
balise, sélectionnez "Capture Capture". (Notez que vous ne devez pas agrandir l'image.)PS Pour agrandir l’image .svg si elle est trop petite, ouvrez le fichier .svg dans l’éditeur de texte et ajoutez-le
0
à chaque numéro, sauf dans le méta-attribut. Cela peut être fait par une substitution de regex globale de(\d+)
à$10
, où$1
est l'espace réservé pour la référence arrière, par exemple.la source
wkhtmltoimage (du projet wkhtmltopdf) a bien converti cela:
ImageMagick
rend le caractère CJK vierge sur mon mac.la source