Linha de comando SVG e visualizador de arquivos de imagem no Linux?

32

Existe algum visualizador de gráfico de linha de comando (habilitado para canais) para arquivos de imagem SVG e JPG / PNG?

Especialmente, os arquivos gráficos / imagens são enviados através de linhas de tubulação, ao invés de arquivos simples, então deve haver a opção para especificar o tipo de arquivo / extensão.

Embora o gv funcione para PS / PDF gerado por programas de pontos, eu gostaria de saber se existem alternativas para arquivos de imagem SVG, etc. de suporte.

    
por Xiè Jìléi 11.08.2010 / 07:13

6 respostas

34

Já experimentou o programa display que vem com o ImageMagick ?

    
por 11.08.2010 / 07:28
11
O

Inkscape já vem com seu próprio visualizador: inkview

Não tem recursos, pode ser um pouco lento, mas funciona (e provavelmente renderiza o SVG com mais precisão do que o display do ImageMagick).

    
por 21.06.2011 / 09:16
10

O que você quer dizer com 'pipe-able'?
feh é muito bom visualizador de linha de comando com toneladas de opções.

    
por 11.08.2010 / 08:02
6

Normalmente, trabalho com SVG como arquivos de texto, portanto, gostaria que o espectador atualizasse automaticamente a exibição assim que o arquivo fosse salvo (e seu conteúdo fosse alterado) - isso deve ser aplicável a situações 'pipable', eu acho ( ou seja, com pipes nomeados).

Observe que, para aplicativos Gnome padrão:

  • evince atualmente funciona assim para PDFs, mas aparentemente não é possível ler SVG (para mim, é gerado " Unable to open document - Error opening file: Permission denied " quando tentei carregar arquivos SVG)
  • eog (Eye Of Gnome) - as versões mais recentes - também podem detectar se um arquivo foi alterado e, em seguida, oferecer um botão "Recarregar"; mas aparentemente, você ainda teria que clicar em "Recarregar" a cada vez (não consigo ver uma maneira de recarregar automaticamente sempre que houver alterações no arquivo eog , como evince se comporta com PDFs) - e também, pelo menos meu Ubuntu 10.04, eog suporte a SVG está um pouco quebrado (zoom in resulta com linhas borradas)
  • O display do ImageMagick não só não é atualizado automaticamente quando o arquivo é alterado no disco - e mesmo quando você pressiona "atualizar" em display , você ainda não obtém a versão mais recente do arquivo (ou seja, você tem que reiniciar display para mostrar a última versão :().

Aqui estão mais algumas notas que encontrei até agora:

  • Rabisco, o Navegador SVG O navegador SVG que faz parte do kit de ferramentas do Batik. - Faça o download do Batik batik-1.7.zip; descompacte-o; execute java -jar batik-squiggle.jar e aí está; não atualiza a imagem automaticamente se o arquivo svg for alterado no disco
  • SVG Image Viewer? - Fóruns do Ubuntu recomendações:
    • No post # 8 - " eu escrevi um pequeno script python. Você apenas o executa como: svg_compare.py e abre um svg e o exibe usando uma biblioteca svg e usando a biblioteca raster do gtk. Você pode aplicar zoom com o mouse ... "
    • xsvg (de link ) - instalei libsvg1_0.1.4-1_i386.deb , libsvg- cairo1_0.1.6-5_i386.deb e xsvg_0.2.1-3_i386.deb nessa ordem; essas versões são de 2005, e assim xsvg é extremamente simples - sem zoom, nada .. E nem preciso dizer, ele não reage às alterações de arquivo salvas automaticamente ...
  • através disso, eu encontrei rsvg-view , que eu acho que é uma parte de sudo apt-get install librsvg2-bin . Seu pequeno, nice, suporta stdin - no entanto, também rsvg-view não pode detectar uma mudança de arquivo, e automaticamente atualizar nele.

Sim - bem, espero que isso ajude ...
Felicidades!

EDIT (24 de dezembro de 2010): bem, aqui está também a minha contribuição: svg_refreshview.py - que é basicamente um retrabalho de svg_compare.py mencionado acima, que simplesmente mostra um arquivo SVG e recarrega o arquivo e atualiza a exibição se o arquivo tiver sido modificado. ( ele não pode realmente funcionar com stdin - mas existem outros scripts em meu repositório que analisam o stdin em python, talvez eles ajudem ).

EDIT2 (20 de maio de 2012): Além disso, surgiu um exemplo de script Perl-Tk, que é muito grosseiro ( sem interação com o mouse, sem nada ), mas usa a API Perl do ImageMagick e pode renderizar SVG (como bitmap em uma tela), por favor, consulte answer # 10670039 - API do ImageMagick para comandos interface de aplicativo GUI de linha para display - estouro de pilha .

    
por 24.12.2010 / 12:58
4

Eu a segunda recomendação de Dennis Williamson do ImageMagick display .

Além disso, às vezes você pode usar canais nomeados para enviar dados aos programas que leem de um arquivo.

Exemplo:

mkfifo /tmp/foo.svg
cat /usr/share/inkscape/clipart/tux.svg > /tmp/foo.svg & inkscape /tmp/foo.svg
rm -f /tmp/foo.svg

Não funcionará com programas que esperam poder retroceder no arquivo.

    
por 11.08.2010 / 09:34
3

Parece que o visualizador do Geeqie manipula gráficos SVG e carrega automaticamente as imagens atualizadas. Eu não sei se pode tirar imagens de stdin. Espero que ajude.

    
por 12.10.2012 / 00:08