Linia poleceń SVG i przeglądarka plików obrazów w systemie Linux?

36

Czy istnieje jakaś przeglądarka graficzna w linii poleceń (obsługująca potoki) dla plików obrazów SVG i JPG / PNG?

Szczególnie, że pliki wykresów / obrazów są wyprowadzane przez linię rur, a nie zwykłe pliki, więc musi istnieć opcja określania typu / rozszerzenia pliku.

Chociaż gv działa na PS / PDF generowany przez programy kropkowe, chciałbym wiedzieć, czy istnieją alternatywy dla plików graficznych SVG itp.

Xiè Jìléi
źródło
1
tylko dla wyjaśnienia: twoim głównym celem nie jest wyświetlanie plików .svg, .jpg i .png na konsoli („linia poleceń”), ale raczej podłączanie takich typów MIME do normalnego programu graficznego?
akira
1
Tak, chciałbym wyświetlić w X. Tak jak robi to gv. Ale gv nie obsługuje SVG itp.
Xiè Jìléi
gwenviewdość szybko, zastanawiasz się, czy spełnia twoje potrzeby?
Aquarius Power

Odpowiedzi:

37

Czy wypróbowałeś już displayprogram dostarczany z ImageMagick ?

Wstrzymano do odwołania.
źródło
3
AFAIK, sam Imagemagick nie może wyświetlać plików SVG, potrzebuje narzędzia, które konwertuje SVG na mapę bitową. Na Debianie sudo aptitude install librsvg2-binjest konieczne, jeśli „rsvg-convert” nie jest jeszcze zainstalowany. Pakiet zawiera również przeglądarkę, rsvg-view-3która ma lepszy zoom niż display.
Mytskine,
2
@Mytskine: Zgodnie z dokumentacją ImageMagick użyje własnego wewnętrznego mechanizmu renderującego SVG, jeśli Inkscape lub RSVG nie będą dostępne.
Wstrzymano do odwołania.
1
W moim systemie: inkscapeładuje się wolno, inkviewjest szybki, ale wydaje się, że nie zmienia widoku? displaydziała świetnie dla mnie :-)
Hugh Perkins
Nie udało mi się uzyskać pracy inkview z wejścia potoku, ale wyświetlacz i tak robi dokładnie to, czego chcę :-) Używam go jak go run my_svg_generator.go | displaythx.
JepZ
1
OSTRZEŻENIE!!!! nie używaj wyświetlacza, jeśli się spieszysz !!! w przypadku pliku svg o pojemności 500 kb (analizowania problemów z uruchamianiem systemowym) minęło 20 minut, zanim mogłem ponownie korzystać z mojego komputera, ponieważ używał 4 GB (zażądałem 7 GB virt.mem) mojej już 6 GB rozdętej pamięci RAM i zamieniał ogromną część (5 GB poszedł do wymiany tylko z powodu wyświetlania) :(, nie jestem pewien wydajności jakiejkolwiek innej opcji wizualizacji svg tho., gwenviewdość szybki btw
Aquarius Power
12

Inkscape ma już własną przeglądarkę:inkview

Brakuje funkcji, może być nieco powolny, ale działa (i prawdopodobnie renderuje SVG dokładniej niż ImageMagick display).

Denilson Sá Maia
źródło
Chciałem tylko zauważyć, że próbowałem inkview(sądzę od 0,48 inkscape) na Ubuntu 10.04.3, uruchomiłem niesamowicie szybko! (EDYCJA: ale tylko dla małych .svg; spróbuj, inkview /usr/share/inkscape/examples/*.svg*jak mówi strona podręcznika, jest też kilka ciężkich ... Mimo to, uruchomienie GUI jest szybkie.) Dzięki za notatkę, @ DenilsonSá - zdrowie!
sdaau,
1
W przypadku naprawdę dużych plików SVG wydaje się, że inkview się psuje.
CMCDragonkai
10

Co masz na myśli mówiąc „potoku”?
fehto bardzo dobra przeglądarka linii poleceń z mnóstwem opcji.

Ivan Petrushev
źródło
1
Mam na myśli, że akceptuje dane wejściowe ze standardowego wejścia i jeśli to możliwe, zgadnij typ MIME. Lub określ jawnie rozszerzenie, jeśli nie może odgadnąć typu pliku heurystycznie.
Xiè Jìléi
11
fehwydaje się wcale nie obsługiwać SVG; Dostaję „ feh WARNING: pySVGLogo.svg - No Imlib2 loader for that file format” ... zdrowie!
sdaau
1
Jeszcze kilka notatek: po pierwsze, feh strona główna , przykłady i zrzuty ekranu ; drugi ( ubuntu 10.04.3 ): uruchamia się bardzo szybko; ma pakiet Debian / Ubuntu; ma nieco dziwną interakcję z myszą (patrz feh --helpna końcu); Mogę załadować katalogu pngs oraz utrzymanie lub (strzałek) wciśnięty, ładuje się tak szybko, jak to wygląda (lub lepiej niż) animowany gif :)... Na zdrowie!
sdaau,
1
@ sdaau, feh rzeczywiście nie obsługuje SVG, więc nie jest użyteczną odpowiedzią na PO.
Dylan Thurston
8

Zwykle pracuję z SVG jako plikami tekstowymi, więc chciałbym, aby przeglądarka automatycznie odświeżyła ekran, gdy tylko plik zostanie zapisany (a jego zawartość zostanie zmieniona) - myślę, że powinno to mieć zastosowanie w sytuacjach „pipable” (tj. Kobza).

Pamiętaj, że w przypadku domyślnych aplikacji Gnome:

  • evinceobecnie działa w ten sposób dla plików PDF, ale najwyraźniej nie może odczytać SVG (dla mnie generuje „ Unable to open document - Error opening file: Permission denied”, gdy próbowałem załadować pliki SVG)
  • eog(Eye Of Gnome) - najnowsze wersje - może również wykryć, czy plik się zmienił, a następnie zaoferować przycisk „Załaduj ponownie”; ale najwyraźniej nadal będziesz musiał kliknąć „Przeładuj” za każdym razem (nie widzę sposobu, aby automatycznie przeładowywać zawsze przy zmianie pliku eog, podobnie jak evincezachowuje się w plikach PDF) - a także, przynajmniej w moim Ubuntu 10.04, eogwsparcie SVG jest nieco zepsuty (powiększaj wyniki rozmytymi liniami)
  • ImageMagick displaynie tylko nie odświeża się automatycznie, gdy plik zmienia się na dysku - a nawet po naciśnięciu przycisku „odśwież” display, nadal nie otrzymujesz najnowszej wersji pliku (co oznacza, że ​​musisz ponownie uruchomić, displayaby wyświetlić najnowszą wersję :() .

Oto kilka notatek, które znalazłem do tej pory:

  • Squiggle, przeglądarka SVG Przeglądarka SVG będąca częścią zestawu narzędzi Batik. - Pobierz Batik batik-1.7.zip; rozpakuj to; biegnij java -jar batik-squiggle.jari tam jest; nie odświeża obrazu automatycznie, jeśli plik svg zmienił się na dysku
  • Przeglądarka obrazów SVG? - Zalecenia dotyczące Ubuntu na forach :
    • W poście # 8 - „ Napisałem mały skrypt Pythona ... Po prostu uruchom go jako: svg_compare.py, a on otworzy svg i wyświetli go za pomocą biblioteki svg i biblioteki rastrowej gtk. Możesz powiększać za pomocą myszy. ..
    • xsvg(z http://cairographics.org ) - Zainstalowałem libsvg1_0.1.4-1_i386.deb , libsvg-cairo1_0.1.6-5_i386.deb i xsvg_0.2.1-3_i386.deb w tej kolejności; te wersje pochodzą z 2005 r., a więc xsvgjest niezwykle proste - bez powiększenia, nic ... Nie trzeba dodawać, że nie reaguje automatycznie na zapisane zmiany plików ...
  • przez to znalazłem rsvg-view, co moim zdaniem jest częścią sudo apt-get install librsvg2-bin. Jest mały, ładny, obsługuje standardowe wejście - nie rsvg-viewmoże jednak wykryć zmiany pliku i automatycznie się na nim odświeżał.

Tak - mam nadzieję, że to pomoże ...
Pozdrawiam!

 

EDYCJA (24 grudnia 10): cóż, oto także mój wkład: svg_refreshview.py - który jest w zasadzie przeróbką svg_compare.pywspomnianego powyżej, który po prostu pokazuje plik SVG i ponownie ładuje plik i odświeża ekran, jeśli plik został zmodyfikowany . ( nie może tak naprawdę działać ze standardowym interfejsem - ale w moim repozytorium są inne skrypty, które analizują standardowe parametry w pythonie, być może pomogą ).

EDIT2 (20 maja 12): Wymyśliłem również przykład skryptu Perl-Tk, który jest bardzo prymitywny ( bez interakcji myszy, bez niczego ), ale korzysta z ImageMagick Perl API, a więc może renderować SVG (jako bitmapę na płótnie ), patrz odpowiedź # 10670039 - Interfejs API ImageMagick dla interfejsu aplikacji GUI wiersza polecenia display- Przepełnienie stosu .

sdaau
źródło
Jest tak od czasu do czasu, mam poprawione na Reloadrzeczy z eogwczoraj! Nienawidzę też tego przycisku!
Xiè Jìléi
I powiedzmy inną prawdę, że displaypochodzi z ImageMagicknie skaluje dobrze SVG, ponieważ zrasteryzował wykres przed jego wyświetleniem. A nawet gorzej, displaya rsvgnie działa z niektórymi z moich plików SVG. Do tej pory tylko FireFox renderuje poprawnie. FireFox bije wszystko.
Xiè Jìléi
Cześć @ 谢 继 雷, dzięki za komentarze! Cóż - właśnie edytowałem swój post i dodałem link do skryptu Pythona, który właśnie stworzyłem - wypróbuj, może to pomoże ... Pozdrawiam! Również +1 na „nienawidzę tego przycisku” :) [chociaż muszę przyznać: zawsze wolę mieć przycisk do zrobienia czegoś ręcznie - niż nie mieć go :) ... Chciałbym tylko automatyczne odświeżanie extra :)]
sdaau
4

Popieram zalecenie Dennisa Williamsona dotyczące ImageMagick display.

Czasami można także użyć nazwanych potoków do potokowania danych do programów odczytujących z pliku.

Przykład:

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

Nie działa jednak z programami, które oczekują możliwości wyszukiwania do tyłu w pliku.

Jukka Matilainen
źródło
Dzięki temu użycie nazwanej rury jest bardzo kreatywne, dzięki. Po próbie okazało się, że uruchomienie zajęło trochę czasu, jest to w pełni funkcjonalny edytor, a nie zwykła przeglądarka.
Xiè Jìléi
3

Wygląda na to, że przeglądarka Geeqie obsługuje grafikę svg i automatycznie ładuje zaktualizowane obrazy. Nie wiem, czy może pobierać zdjęcia ze standardowego wejścia. Mam nadzieję, że to pomoże.

Promień
źródło