web-dev-qa-db-fra.com

Ligne de commande SVG et visualiseur de fichiers images sous Linux?

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.

36
Xiè Jìléi

Avez-vous essayé le programme display fourni avec ImageMagick ?

36
Dennis Williamson

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).

11
Denilson Sá Maia

Que voulez-vous dire par 'pipe -able'?
feh est un très bon visualiseur en ligne de commande avec une multitude d’options.

10
Ivan Petrushev

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:

  • evincefonctionne 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 eogname__, comme evincese comporte avec les fichiers PDF) - et aussi, du moins sur mon Ubuntu 10.04, eogLe support SVG est quelque peu brisé (zoomer sur les résultats avec des lignes floues)
  • displayd'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 displayname__, vous n'obtenez toujours pas la dernière version du fichier (=) ce qui signifie que vous devez redémarrer displaypour afficher la dernière version :().

Voici quelques notes que j'ai trouvées jusqu'à présent:

  • Squiggle, le navigateur SVG Le navigateur SVG faisant partie de la boîte à outils Batik. - Téléchargez le batik batik-1.7.Zip; déballe-le; lancez Java -jar batik-squiggle.jar et le voilà; n'actualise pas automatiquement l'image si le fichier svg a changé sur le disque
  • Visionneuse d'images SVG? - Recommandations pour les forums Ubuntu :
    • En post # 8 - " J'ai écrit un petit script python ... Vous venez de l'exécuter comme suit: svg_compare.py et il s'ouvre place un svg et l'affiche en utilisant une bibliothèque svg et en utilisant la bibliothèque raster de gtk. Vous pouvez zoomer avec la souris ... "
    • xsvg(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 xsvgest 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 ...
  • à travers cela, j'ai trouvé 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 .

6
sdaau

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.

4
Jukka Matilainen

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.

3
Ray