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


36

Existe-t-il une visionneuse graphique en ligne de commande (utilisable) pour les fichiers images SVG et JPG / PNG?

En particulier, les fichiers graphique / image 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 les programmes DOT, j'aimerais savoir s'il existe des alternatives pour prendre en charge les fichiers image SVG, etc.


1
Juste pour clarifier: votre objectif principal n'est pas d'afficher les fichiers .svg, .jpg et .png sur la console ("ligne de commande"), mais plutôt de diriger de tels types MIME vers un programme graphique normal?
Akira

1
Oui, je voudrais afficher dans X. Tout comme gv. Mais gv ne supporte pas SVG, etc.
Xiè Jìléi

gwenviewassez vite, je me demande si répond à vos besoins?
Aquarius Power

Réponses:


37

Avez-vous essayé le displayprogramme fourni avec ImageMagick ?


3
Autant que je sache, Imagemagick seul ne peut pas afficher les fichiers SVG, il nécessite un outil qui convertit le SVG en bitmap. Sur Debian, sudo aptitude install librsvg2-binest nécessaire si "rsvg-convert" n'est pas encore installé. Le paquet contient également une visionneuse rsvg-view-3qui a un meilleur zoom que display.
Mytskine

2
@ Mytskine: selon la documentation ImageMagick , il utilisera son propre convertisseur de rendu SVG interne si Inkscape ou RSVG ne sont pas disponibles.
pause jusqu'à nouvel ordre.

1
Sur mon système: le inkscapechargement est lent, inkviewrapide mais ne semble pas changer de vue. displayfonctionne très bien pour moi :-)
Hugh Perkins

Je n'ai pas réussi à obtenir le travail de inkview à partir de l'entrée de tuyau, mais display fait exactement ce que je veux quand même :-) Je l'utilise comme go run my_svg_generator.go | displaymerci.
JepZ

1
ATTENTION!!!! n'utilisez pas l'affichage si vous êtes pressé !!! pour un fichier de 500 Ko (d'analyse des problèmes d'amorçage de Systemd), il m'a fallu 20 minutes avant que je puisse utiliser à nouveau ma machine, car elle utilisait 4 Go (7 Go demandés de virt.mem) de ma mémoire vive de 6 Go déjà gonflée et échangeait beaucoup (5 Go). est allé à échanger uniquement à cause de l'affichage) :(, pas sûr de la performance de toute autre option pour visualiser svg tho., gwenviewassez rapide btw
Aquarius Power

12

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 SVG avec plus de précision que celui d'ImageMagick display).


Je voulais juste noter que j'ai essayé inkview(je crois à partir de 0.48 inkscape) sur Ubuntu 10.04.3, que j'ai démarré incroyablement vite! (EDIT: mais seulement pour les petits .svgs; essayez inkview /usr/share/inkscape/examples/*.svg*comme le dit la page de manuel, il y en a quelques lourds aussi ... Néanmoins, le démarrage de l'interface graphique est rapide.) Merci pour cette remarque, @ DenilsonSá - Bravo!
Sdaau

1
Pour les très gros SVG, inkview semble se rompre.
CMCDragonkai

10

Que voulez-vous dire par 'pipe -able'?
fehest un très bon visualiseur de lignes de commande avec des tonnes d’options.


1
Je veux dire qu'il accepte les entrées de stdin et devine le type MIME si possible. Ou en spécifiant explicitement l'extension si elle ne peut pas deviner le type de fichier de manière heuristique.
Xiè Jìléi

11
fehne semble pas supporter SVG du tout; Je reçois " feh WARNING: pySVGLogo.svg - No Imlib2 loader for that file format" ... Salut!
sdaau

1
Quelques notes supplémentaires: d'abord, feh page d'accueil , exemples et captures d'écran ; seconde ( Ubuntu 10.04.3 ): démarre très vite; a le paquet Debian / Ubuntu; a une interaction un peu bizarre avec la souris (voir feh --helpà la fin); Je peux charger un répertoire de pngs, et garder ou (touches fléchées) enfoncé, il se charge si vite qu'il ressemble (ou mieux que) à un .gif animé :)... A la vôtre!
Sdaau

1
@sdaau, feh ne prend effectivement pas en charge le format SVG et n’est donc pas une réponse utile au PO.
Dylan Thurston le

8

Je travaille habituellement avec SVG sous forme de fichiers texte. Je souhaite donc que le visualiseur actualise automatiquement l'affichage dès que le fichier a été enregistré (et que son contenu a été modifié). tuyaux).

Notez que, pour les applications Gnome par défaut:

  • evincefonctionne actuellement comme cela 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 à la modification du fichier eog, comme evinceavec les PDF) - et aussi, du moins sur Ubuntu 10.04, le eogsupport SVG est un peu cassé (zoom avant avec des lignes floues)
  • ImageMagick displaynon seulement ne s'actualise pas automatiquement lorsque le fichier change sur le disque - et même lorsque vous appuyez sur 'actualiser' display, 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 qui fait partie de la boîte à outils Batik. - Téléchargez le batik batik-1.7.zip; déballe-le; courir java -jar batik-squiggle.jaret le voilà; n'actualise pas automatiquement l'image si le fichier svg a changé sur le disque
  • Visionneuse d'images SVG? - Recommandations des forums Ubuntu :
    • Dans le post # 8 - " J'ai écrit un petit script python ... Il suffit de l'exécuter comme suit: svg_compare.py pour ouvrir un svg et l'afficher à l'aide d'une bibliothèque svg et de la bibliothèque raster de gtk. Vous pouvez effectuer un zoom avec la souris. .. "
    • xsvg(de 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 sont donc xsvgextrêmement simples - pas de zoom, rien .. Et il va sans dire que cela ne réagit pas automatiquement aux modifications de fichiers enregistrés ...
  • à travers cela, j'ai trouvé rsvg-view, ce que je pense est une partie de sudo apt-get install librsvg2-bin. Il est petit, joli, supporte stdin - mais rsvg-viewne peut pas non plus détecter un changement de fichier, et se rafraichir automatiquement dessus.

Yup - eh bien, j'espère que cela aide ... A la
vôtre!

 

EDIT (24 déc '10): bien, voici aussi ma contribution: svg_refreshview.py - qui est fondamentalement une retouche de celle svg_compare.pymentionnée ci-dessus, qui affiche simplement un fichier SVG, recharge le fichier et rafraîchit 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 vous aideront ).

EDIT2 (20 mai 2012 ): Un exemple de script Perl-Tk, très rudimentaire ( aucune interaction de la souris, rien du tout ) n’est utilisé, mais qui utilise l’API ImageMagick Perl et peut donc rendre le rendu SVG (sous forme de bitmap sur un canevas). ), veuillez consulter la réponse # 10670039 - API ImageMagick pour l'interface d'application de l'interface graphique de ligne de commande pour display- Dépassement de pile .


Il est donc de temps en temps, j'ai patché l' Reloadétoffe plus eogtard qu'hier! Je déteste ce bouton aussi!
Xiè Jìléi

Et, vous dire une autre vérité, la displayvient de ImageMagickne pas bien échelle SVG, car il pixellisée le graphique avant de l' afficher. Et pire encore, displayet rsvgne fonctionne pas avec certains de mes fichiers SVG. Jusqu'à présent, seul FireFox rend correctement. FireFox bat tous.
Xiè Jìléi

Bonjour @ 继 雷, merci pour les commentaires! Eh bien - je viens de modifier mon message et d’ajouter un lien vers un script python que je viens de mettre ensemble - essayez-le, peut-être que cela aide… À la vôtre! Également +1 sur le bouton "déteste ce bouton" :) [bien que, je dois l'avouer: je préférerais toujours avoir un bouton pour faire quelque chose manuellement - plutôt que de ne pas l'avoir :) ... Je voudrais juste un rafraîchissement automatique extra :)]
sdaau

4

J'appuie la recommandation de Dennis Williamson concernant ImageMagick display.

En outre, vous pouvez parfois utiliser des canaux nommés pour diriger les données vers des programmes qui lisent depuis 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.


Cette utilisation de pipe nommée est très créative, merci. Après un essai, j'ai trouvé qu'il fallait un certain temps pour démarrer, c'est un éditeur fonctionnel complet plutôt qu'un simple visualiseur.
Xiè Jìléi

3

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.