Командная строка 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.