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

55143
Xiè Jìléi

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

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

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

33
просто чтобы уточнить: ваша главная задача не в том, чтобы отображать .svg, .jpg и .png на консоли («командная строка»), а в том, чтобы передавать такие mime-типы в обычную графическую программу? akira 13 лет назад 1
Да, я бы хотел отобразить в X. Так же, как это делает gv. Но gv не поддерживает SVG и т. Д. Xiè Jìléi 13 лет назад 1
`gwenview` довольно быстро, интересно, отвечает вашим потребностям? Aquarius Power 6 лет назад 0

6 ответов на вопрос

34
Dennis Williamson

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

AFAIK, Imagemagick один не может отображать файлы SVG, ему нужен инструмент, который конвертирует SVG в растровое изображение. В Debian `sudo aptitude install librsvg2-bin` необходим, если" rsvg-convert "еще не установлен. Пакет также содержит средство просмотра `rsvg-view-3`, которое имеет лучший зум, чем` display`. Mytskine 11 лет назад 2
@Mytskine: Согласно [Документация ImageMagick] (http://www.imagemagick.org/script/formats.php#supported), он будет использовать собственный внутренний рендерер SVG, если [Inkscape] (http: //www.inkscape). .org /) или [RSVG] (http://developer.gnome.org/rsvg/) недоступны. Dennis Williamson 11 лет назад 1
В моей системе: `Inkscape` загружается медленно,` Inview` быстр, но не может изменить представление? `display` прекрасно работает для меня :-) Hugh Perkins 8 лет назад 1
Мне не удалось получить чернильницу от ввода с конвейера, но в любом случае отображение делает именно то, что я хочу :-) Я использую его как `go run my_svg_generator.go | дисплей JepZ 7 лет назад 0
ПРЕДУПРЕЖДЕНИЕ!!!! не используйте дисплей, если вы спешите !!! для файла SVK размером 500 КБ (для анализа проблем с загрузкой systemd) потребовалось 20 минут, прежде чем я смог снова использовать свою машину, поскольку он использовал 4 ГБ (запрошенный 7 ГБ virt.mem) моей 6 ГБ уже раздутой ОЗУ и подкачал огромную партию (5 ГБ) пошел своп только из-за отображения) :(, не уверен насчет производительности любого другого варианта для визуализации svg tho., `gwenview` довольно быстро, кстати Aquarius Power 6 лет назад 1
11
Denilson Sá Maia

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

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

Просто хотел заметить, что я попробовал `Inkview` (я думаю, из 0,48 Inkscape) на Ubuntu 10.04.3, запустился удивительно быстро! (РЕДАКТИРОВАТЬ: но только для небольших `.svg`s; попробуйте` inkview / usr / share / inkscape / examples / *. Svg * `, как говорится на странице man, там тоже есть некоторые проблемы ... Тем не менее, запуск графического интерфейса _is_ быстро.) Спасибо за эту заметку, @ DenilsonSá - ура! sdaau 11 лет назад 0
Для действительно больших SVG чернильница кажется сломанной. CMCDragonkai 5 лет назад 0
10
Ivan Petrushev

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

Я имею в виду, что он принимает входные данные от стандартного ввода и, если возможно, угадывает тип MIME. Или указав расширение явно, если оно не может угадать тип файла эвристически. Xiè Jìléi 13 лет назад 1
`feh`, похоже, совсем не поддерживает SVG; Я получаю "ПРЕДУПРЕЖДЕНИЕ: pySVGLogo.svg - Нет загрузчика Imlib2 для этого формата файла" "... Ура! sdaau 13 лет назад 11
Еще несколько заметок: во-первых, `feh` [домашняя страница] (http://feh.finalrewind.org/), [примеры] (http://feh.finalrewind.org/examples/) и [скриншоты] (http: / /linux.softpedia.com/progScreenshots/feh-Screenshot-420.html); секунда (_ubuntu 10.04.3_): запускается очень быстро; имеет пакет Debian / Ubuntu; имеет немного странное взаимодействие с мышью (см. `feh --help` в конце); Я могу загрузить каталог `png`s и удерживать нажатой клавишу` ← `или` → `(клавиши со стрелками), он загружается так быстро, что выглядит (или даже лучше) анимированного .gif`:) `... Cheers ! sdaau 11 лет назад 1
6
sdaau

Я обычно работаю с 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. - скачать батик батик- 1.7.zip; распакуйте его; бежать java -jar batik-squiggle.jarи вот оно; не обновляет изображение автоматически, если файл svg изменился на диске
  • SVG Image Viewer? - Рекомендации форумов Ubuntu :
    • В посте № 8 - « Я написал небольшой скрипт на python ... Вы просто запускаете его как: svg_compare.py, и он открывает svg и отображает его, используя библиотеку svg и используя растровую библиотеку gtk. Вы можете изменять масштаб с помощью мыши. .. "
    • xsvghttp://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. Небольшой, красивый, поддерживает stdin - однако, также rsvg-viewне может обнаружить изменение файла и автоматически обновить его.

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

 

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

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

Это так редко, я исправлял "перезагрузку" в "eog", ТОЛЬКО ВЧЕРА! Я тоже ненавижу эту кнопку! Xiè Jìléi 13 лет назад 0
И, скажу вам еще одну правду, `display` происходит от` ImageMagick` не очень хорошо масштабирует SVG, потому что он растеризовал график перед его отображением. И что еще хуже, `display` и` rsvg` не работают с некоторыми из моих файлов SVG. До сих пор только FireFox отображает правильно. FireFox побеждает все. Xiè Jìléi 13 лет назад 0
Привет @ 谢 继 雷, спасибо за комментарии! Что ж, я только что отредактировал свой пост и добавил ссылку на скрипт Python, который я только что собрал, - попробуйте, может быть, это поможет ... Ура! Также +1 на "ненавижу эту кнопку" :) [хотя, я должен признать: я всегда предпочел бы иметь кнопку, чтобы сделать что-то вручную - чем ** не **, чтобы иметь это :) ... я бы просто как автоматическое обновление дополнительно :)] sdaau 13 лет назад 0
4
Jukka Matilainen

Я вторая рекомендация Деннис Уильямсон о 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 13 лет назад 0
3
Ray

It seems Geeqie viewer handles svg graphics and it automatically loads the updated images. I don't know whether it can take images from stdin. I hope it helps.

Похожие вопросы