Linux 中的命令行 SVG 和图像文件查看器?

Linux 中的命令行 SVG 和图像文件查看器?

是否有用于 SVG、JPG 和 PNG 图像的命令行(可通过管道传输)图形查看器?

我特别想寻找一种将图形/图像传送到程序的方法,而不是使用文件,因此必须有一个选项来指定文件类型/扩展名。

尽管gv适用于由 PS/PDF 生成的程序,我想知道是否有支持 SVG 图像文件的替代方案。

答案1

您是否尝试display图像魔术师

答案2

Inkscape已经自带了查看器:inkview

它缺少功能,可能有点慢,但它可以工作(并且可能比 ImageMagick 更准确地呈现 SVG display)。

答案3

我通常将 SVG 作为文本文件使用,因此希望查看器在文件保存后(并且其内容发生变化)立即自动刷新显示 - 我认为这应该适用于“可管道”的情况(即使用命名管道)。

请注意,对于默认的 Gnome 应用程序:

  • evince目前对于 PDF 来说就是这样的,但似乎它无法读取 SVG(Unable to open document - Error opening file: Permission denied当我尝试加载 SVG 文件时,它会生成“ ”
  • eog(Eye Of Gnome)- 最新版本 - 也可以检测文件是否发生变化,然后提供“重新加载”按钮;但显然,您仍然必须每次都单击“重新加载”(我看不出有办法在文件更改时始终自动重新加载eog,就像evincePDF 的行为一样)- 而且,至少在我的 Ubuntu 10.04 上,eogSVG 支持有些损坏(放大结果时线条模糊)
  • ImageMagickdisplay不仅不会在文件在磁盘上发生变化时自动刷新 - 而且即使你按下“刷新”按钮display,你仍然会不是获取文件的最新版本(意味着您必须重新启动display才能显示最新版本:()。

以下是我目前发现的更多笔记:

  • Squiggle,SVG 浏览器作为 Batik 工具包一部分的 SVG 浏览器。-下载 Batikbatik-1.7.zip;解压;运行java -jar batik-squiggle.jar,即可;如果磁盘上的 svg 文件发生变化,则不会自动刷新图像
  • SVG 图像查看器? - Ubuntu 论坛建议:
    • 在帖子中#8-”我写了一个小的 python 脚本...你只需运行它:svg_compare.py,它就会打开一个 svg 并使用 svg 库和 gtk 的光栅库显示它。你可以用鼠标缩放...
    • xsvg(从http://cairographics.org) - 我安装了libsvg1_0.1.4-1_i386.deblibsvg-cairo1_0.1.6-5_i386.debxsvg_0.2.1-3_i386.deb按此顺序;这些版本来自 2005 年,因此xsvg非常简单 - 没有缩放,什么都没有......不用说,它不会自动对已保存的文件更改做出反应......
  • 通过它,我找到了rsvg-view,我认为它是的一部分sudo apt-get install librsvg2-bin。它很小,很好,支持标准输入 - 但是,也rsvg-view无法检测文件更改并自动刷新。

是的 - 好吧,我希望这会有所帮助...
干杯!

 

编辑(2010 年 12 月 24 日):好吧,这也是我的贡献:svg_refreshview.py- 这基本上是对上述内容的重新设计svg_compare.py,它仅显示一个 SVG 文件,如果文件已被修改,则重新加载文件并刷新显示。(它不能真正与 stdin 一起工作 - 但我的仓库中还有其他脚本可以用 python 解析 stdin,也许它们会有所帮助)。

编辑2(2012 年 5 月 20 日):此外,还提出了一个 Perl-Tk 脚本示例,非常粗糙(没有鼠标交互,什么都没有),但使用 ImageMagick Perl API,因此可以渲染 SVG(作为画布上的位图),请参阅答案#10670039 - ImageMagick API 用于命令行GUI应用程序界面display- VoidCC

答案4

我同意 Dennis Williamson 的观点推荐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

但是,它不适用于需要能够在文件中向后查找的程序。

相关内容