Командная строка SVG и программа просмотра файлов изображений в Linux?


35

Есть ли какая-либо программа для просмотра графиков командной строки (для каналов) для файлов изображений SVG и JPG / PNG?

Тем более, что файлы графиков / изображений выводятся через конвейер, а не в виде простых файлов, поэтому должна быть возможность указать тип / расширение файла.

Хоть г.в. работает для PS / PDF, созданных точечными программами, я хотел бы знать, есть ли альтернативы для поддержки файлов изображений SVG и т. д.


1
просто чтобы уточнить: ваша главная задача не в том, чтобы отображать .svg, .jpg и .png на консоли («командная строка»), а в том, чтобы передавать такие mime-типы в обычную графическую программу?
akira

1
Да, я бы хотел отобразить в X. Так же, как это делает gv. Но gv не поддерживает SVG и т. Д.
Xiè Jìléi

gwenview довольно быстро, интересно, отвечает ли ваши потребности?
Aquarius Power

Ответы:


35

Вы пробовали display программа, которая идет с ImageMagick ?


3
AFAIK, Imagemagick один не может отображать файлы SVG, ему нужен инструмент, который преобразует SVG в растровое изображение. На Debian, sudo aptitude install librsvg2-bin необходимо, если "rsvg-convert" еще не установлен. Пакет также содержит зрителя rsvg-view-3 это лучше зум, чем display,
Mytskine

1
@Mytskine: Согласно Документация ImageMagick , он будет использовать свой собственный рендерер SVG, если Inkscape или же RSVG не доступны
Dennis Williamson

1
В моей системе: inkscape медленно загружается, inkview быстро, но не может изменить вид? display прекрасно работает для меня :-)
Hugh Perkins

Мне не удалось получить чернильницу от ввода с конвейера, но дисплей все равно делает то, что я хочу :-) Я использую его как go run my_svg_generator.go | display Спасибо.
JepZ

1
ПРЕДУПРЕЖДЕНИЕ!!!! не используйте дисплей, если вы спешите !!! для файла SVK 500 КБ (для анализа проблем с загрузкой systemd) потребовалось 20 минут, прежде чем я смог снова использовать свою машину, поскольку он использовал 4 ГБ (запрошенный 7 ГБ virt.mem) моей 6 ГБ уже раздутой оперативной памяти и менял огромную часть (5 ГБ) пошел своп только из-за отображения) :(, не уверен насчет производительности любого другого варианта для визуализации svg tho., gwenview довольно быстро, кстати
Aquarius Power

11

Inkscape уже поставляется со своим собственным зрителем: inkview

В нем отсутствуют функции, он может быть немного медленным, но он работает (и, вероятно, отрисовывает SVG более точно, чем ImageMagick display ).


Просто хотел отметить, что я пытался inkview (Я считаю, с 0.48 inkscape) на Ubuntu 10.04.3, запустился на удивление быстро! (РЕДАКТИРОВАТЬ: но только для маленьких .svg s; пытаться inkview /usr/share/inkscape/examples/*.svg* как написано на странице руководства, там тоже есть некоторые проблемы ... Тем не менее, запуск GUI является быстро.) Спасибо за эту заметку, @ DenilsonSá - ура!
sdaau

Для действительно больших SVG чернильница кажется сломанной.
CMCDragonkai

10

Что ты имеешь в виду под «труба»?
feh это очень хороший просмотрщик командной строки с множеством опций.


1
Я имею в виду, что он принимает входные данные от stdin и, если возможно, угадывает тип MIME. Или указав расширение явно, если оно не может угадать тип файла эвристически.
Xiè Jìléi

11
feh похоже, совсем не поддерживает SVG; Я получил " feh WARNING: pySVGLogo.svg - No Imlib2 loader for that file format "... ура!
sdaau

1
Еще несколько заметок: во-первых, feh домашняя страница , Примеры а также скриншоты ; второй ( Ubuntu 10.04.3 ): запускается очень быстро; имеет пакет Debian / Ubuntu; имеет немного странное взаимодействие с мышью (см. feh --help в конце); Я могу загрузить каталог png и держать или же (клавиши со стрелками), он загружается так быстро, что выглядит (или лучше, чем) анимированный .gif :) ... ура!
sdaau

6

Я обычно работаю с SVG как текстовыми файлами, поэтому хотел бы, чтобы зритель автоматически обновлял отображение, как только файл был сохранен (и его содержимое изменилось) - это должно быть применимо к ситуациям «pipable», я думаю (то есть с именованным трубы).

Обратите внимание, что для стандартных приложений Gnome:

  • evince в настоящее время работает так для PDF-файлов, но, похоже, он не может читать SVG (для меня это генерирует " Unable to open document - Error opening file: Permission denied "когда я пытался загрузить файлы SVG)
  • eog (Eye Of Gnome) - последние версии - также может определить, был ли изменен файл, и затем предложить кнопку «Перезагрузить»; но, по-видимому, вам все равно придется нажимать «Перезагрузить» каждый раз (я не могу найти способ всегда вызывать автоматическую перезагрузку при изменении файла в eog, лайк evince ведет себя с PDF-файлами) - а также, по крайней мере, на моем Ubuntu 10.04, eog Поддержка SVG несколько нарушена (увеличение результатов с размытыми линиями)
  • -х ImageMagick display не только не обновляет автоматически при изменении файла на диске - и даже когда вы нажимаете «обновить» в displayты все еще делаешь не получить последнюю версию файла (то есть, вы должны перезагрузить display показать последнюю версию :().

Вот еще несколько заметок, которые я нашел до сих пор:

  • Squiggle, браузер SVG Браузер SVG, который является частью набора инструментов Batik. - Скачать батик batik-1.7.zip; распакуйте его; бежать java -jar batik-squiggle.jar и вот оно; не обновляет изображение автоматически, если файл svg изменился на диске
  • SVG Image Viewer? - Форумы Ubuntu рекомендации:
    • В посте # 8 - " Я написал небольшой скрипт на Python ... Вы просто запускаете его как: svg_compare.py, и он открывает svg и отображает его, используя библиотеку svg и растровую библиотеку gtk. Вы можете увеличить с помощью мыши ... "
    • xsvg (от http://cairographics.org ) - я установил libsvg1_0.1.4-1_i386.deb , libsvg-cairo1_0.1.6-5_i386.deb а также xsvg_0.2.1-3_i386.deb в этой последовательности; эти версии с 2005 года, и так xsvg предельно просто - без зума, ничего .. И само собой разумеется, он не реагирует на изменения сохраненных файлов автоматически ...
  • через это я нашел rsvg-view, который я считаю частью sudo apt-get install librsvg2-bin, Его маленький, красивый, поддерживает стандартный ввод - однако, также rsvg-view не может обнаружить изменение файла и автоматически обновить его ..

Да, хорошо, я надеюсь, что это помогает ...
Ура!

РЕДАКТИРОВАТЬ (24 декабря '10): ну, вот и мой вклад: svg_refreshview.py - что в основном переделка svg_compare.py упомянутое выше, это просто показывает файл SVG, и перезагружает файл и обновляет отображение, если файл был изменен. ( он не может работать с stdin - но в моем репозитории есть другие скрипты, которые анализируют stdin в python, возможно, они помогут ).

EDIT2 (20 мая '12 г.): Кроме того, придумали пример сценария Perl-Tk, который очень груб ( нет взаимодействия с мышью, нет ничего ), но использует ImageMagick Perl API и поэтому может отображать SVG (как растровое изображение на холсте), см. ответ # 10670039 - API ImageMagick для интерфейса приложения с графическим интерфейсом командной строки для display - Переполнение стека ,


Это так иногда, я исправил Reload вещи из eog ТОЛЬКО ВЧЕРА! Я тоже ненавижу эту кнопку!
Xiè Jìléi

И, скажу вам другую правду, display происходит от ImageMagick плохо масштабирует SVG, потому что он растеризовал график перед его отображением. И еще хуже, display а также rsvg не работает с некоторыми из моих файлов SVG. До сих пор только FireFox отображает правильно. FireFox побеждает все.
Xiè Jìléi

Привет @ 谢 继 雷, спасибо за комментарии! Что ж, я только что отредактировал свое сообщение и добавил ссылку на скрипт Python, который я только что собрал, - попробуйте, может быть, это поможет ... Ура! Также +1 на "ненавижу эту кнопку" :) [хотя, я должен признать: я всегда предпочел бы иметь кнопку, чтобы сделать что-то вручную - чем не иметь его :) ... я просто хотел бы автоматическое обновление дополнительно :)]
sdaau

4

Я второй Деннис Уильямсон рекомендация ImageMagick display,

Кроме того, вы можете иногда использовать именованные трубы передавать данные в программы, которые читают из файла.

Пример:

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

Тем не менее, он не будет работать с программами, которые ожидают возможность поиска в файле назад.


Это использование именованного канала очень креативно, спасибо. После попытки я обнаружил, что для запуска потребовалось некоторое время, это полнофункциональный редактор, а не простой просмотрщик.
Xiè Jìléi

3

Кажется, Geeqie Viewer обрабатывает графику SVG и автоматически загружает обновленные изображения. Я не знаю, может ли он принимать изображения со стандартного ввода. Я надеюсь, что это помогает.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.