Existe-t-il une visionneuse graphique en ligne de commande (utilisable) pour les fichiers images SVG et JPG/PNG?
En particulier, les fichiers graphiques/images sont sortis par une ligne de conduite plutôt que par des fichiers simples. Il doit donc exister une option permettant de spécifier le type/extension du fichier.
Bien que gv fonctionne pour les fichiers PS/PDF générés par des programmes de points, j'aimerais savoir s'il existe des alternatives pour prendre en charge les fichiers image SVG, etc.
Avez-vous essayé le programme display
fourni avec ImageMagick ?
Inkscape est déjà livré avec son propre visualiseur: inkview
Il manque des fonctionnalités, il est peut-être un peu lent, mais cela fonctionne (et rend probablement le format SVG avec plus de précision que le display
de ImageMagick).
Que voulez-vous dire par 'pipe -able'?feh
est un très bon visualiseur en ligne de commande avec une multitude d’options.
Je travaille habituellement avec SVG sous forme de fichiers texte. Je voudrais donc que le spectateur actualise automatiquement l’affichage dès que le fichier a été sauvegardé (et que son contenu a été modifié). Cela devrait s’appliquer aux situations "pipables", je pense (c'est-à-dire avec tuyaux).
Notez que, pour les applications Gnome par défaut:
evince
fonctionne actuellement comme ceci pour les PDF, mais apparemment, il ne peut pas lire le SVG (pour moi, il génère "Unable to open document - Error opening file: Permission denied
" lorsque j'ai essayé de charger des fichiers SVG)eog
(Eye Of Gnome) - les dernières versions - peut également détecter si un fichier a changé à ce sujet, puis proposer un bouton 'Recharger'; mais apparemment, vous devez toujours cliquer sur "Recharger" à chaque fois (je ne vois pas comment provoquer un rechargement automatique toujours sur le changement de fichier dans eog
name__, comme evince
se comporte avec les fichiers PDF) - et aussi, du moins sur mon Ubuntu 10.04, eog
Le support SVG est quelque peu brisé (zoomer sur les résultats avec des lignes floues)display
d'ImageMagick non seulement ne s'actualise pas automatiquement lorsque le fichier est modifié sur le disque - et même lorsque vous appuyez sur 'refresh' dans display
name__, vous n'obtenez toujours pas la dernière version du fichier (=) ce qui signifie que vous devez redémarrer display
pour afficher la dernière version :().Voici quelques notes que j'ai trouvées jusqu'à présent:
Java -jar batik-squiggle.jar
et le voilà; n'actualise pas automatiquement l'image si le fichier svg a changé sur le disquexsvg
(from http://cairographics.org ) - J'ai installé libsvg1_0.1.4-1_i386.deb , libsvg-cairo1_0.1.6-5_i386.deb et xsvg_0.2.1-3_i386 .deb dans cet ordre; ces versions datent de 2005, et xsvg
est extrêmement simple - pas de zoom, rien .. Et inutile de préciser que cela ne réagit pas automatiquement aux modifications de fichiers enregistrés ...rsvg-view
, qui, je pense, fait partie de Sudo apt-get install librsvg2-bin
. Sa petite taille, Nice, supporte stdin - cependant, rsvg-view
ne peut pas détecter un changement de fichier et s’actualise automatiquement dessus.Eh oui, j'espère que ça aide ...
À votre santé!
EDIT (24 déc. 10): eh bien, voici aussi ma contribution: svg_refreshview.py - qui est fondamentalement un remaniement de svg_compare.py
mentionné ci-dessus, qui montre simplement un fichier SVG, recharge le fichier et actualise l'affichage si le fichier a été modifié. ( cela ne peut pas vraiment fonctionner avec stdin - mais il y a d'autres scripts dans mon repo qui analysent stdin en python, peut-être qu'ils vont aider ).
EDIT2 (20 mai 2012): Un exemple de script Perl-Tk est également apparu, qui est très grossier ( pas d'interaction avec la souris, ni rien ), mais utilise l'API ImageMagick Perl et peut donc rendre le format SVG (sous forme d'image bitmap sur un canevas). Veuillez consulter la réponse # 10670039 - L'API ImageMagick pour l'interface de l'interface graphique utilisateur en ligne de commande à display
- Dépassement de pile .
J'appuie la recommandation de Dennis Williamson d'ImageMagick display
.
En outre, vous pouvez parfois utiliser des canaux nommés pour diriger les données vers des programmes qui lisent à partir d'un fichier.
Exemple:
mkfifo /tmp/foo.svg
cat /usr/share/inkscape/clipart/Tux.svg > /tmp/foo.svg & inkscape /tmp/foo.svg
rm -f /tmp/foo.svg
Ne fonctionnera pas avec les programmes qui s'attendent à pouvoir chercher en arrière dans le fichier, cependant.
Il semble que le visualiseur Geeqie gère les graphiques svg et charge automatiquement les images mises à jour. Je ne sais pas si cela peut prendre des images de stdin. J'espère que ça aide.