是否有在 STDIN 上拍摄图像的图像查看器?

SL9*_*SL9 42 linux unix image-viewer images

我正在寻找一个图像查看器,它stdin可以接收数据并且可以像这样运行:

cat image.png | imageviewer
Run Code Online (Sandbox Code Playgroud)

erj*_*ang 49

ImageMagick 的display程序将做到这一点,假设您通过管道传输它可以理解的内容。

cat image.png | display
Run Code Online (Sandbox Code Playgroud)

它会弹出一个显示该图像的窗口。

  • 在`ImageMagick 6.8.8-1 Q16 i686 2014-01-04`版本上,我还需要传递`-`作为参数:`$ cat image.png | display -` 或 `$ display - < image.png`。 (3认同)

Ign*_*ams 15

ImageMagick 的display.

display < foo.png
Run Code Online (Sandbox Code Playgroud)


use*_*686 7

在 Linux(可能还有 BSD)上,几乎所有的——如果你给出/dev/stdin路径。这包括:xloadimage, feh, GNOME 之眼 ( eog)。

eog /dev/stdin < "$file"
Run Code Online (Sandbox Code Playgroud)

(不过,并非所有这些都适用于特殊文件。例如,GThumb 未能通过测试。)

  • @Naga:`&lt; "$file"` 就是一个例子。关键是程序是否可以接受任意流,无论是简单的重定向还是更高级的东西(例如通过标准输入、命名管道、进程替换、套接字或字符设备提供图像)。问题是许多查看器要求 fd 是可查找的,而只有常规文件和块设备是可查找的。 (5认同)
  • 这不起作用:cat graph.png | 眼压/开发/标准输入 (4认同)
  • 正如@bukzor 指出的,`cat graph.png | eog /dev/stdin` 失败,但 `eog /dev/stdin &lt; graph.png` 有效。 (3认同)
  • 有什么方法可以使这种方法也适用于管道 (`|`)? (2认同)
  • 看起来 `eog` 正在查找有关文件描述符的信息(在直接从文件重定向的特殊情况下成功),而普通的 Unix 程序只会接受输入,而不管它来自哪里。所以 `eog` 不适用于一般标准输入。另一个有效的程序是`gwenview /dev/stdin`(KDE 图像查看器)。 (2认同)

Mai*_*oID 5

你可以使用feh,它非常快。

cat image.png | feh --scale-down -  
Run Code Online (Sandbox Code Playgroud)

feh 是一个轻量级的图像查看器,它位于许多 Linux 发行版的默认存储库中。它特别针对需要快速图像查看器而没有大量 GUI 依赖项的命令行用户。

  • 问题很具体,我给了一个具体的答案。看在上帝的份上,我们正上方有一个命令行。 (3认同)
  • 你能稍微扩展一下你的答案吗?仅提及产品(是命令、产品还是冷漠的表达?),并不能真正解释如何完成解决方案。最好解释一下如何使用产品来解决问题,或者至少描述是什么使产品成为一个好的解决方案,而不仅仅是谷歌的随机搜索。在此处推荐软件的良好指南:http://meta.superuser.com/questions/5329/how-do-i-recommend-software-in-my-answers。谢谢。 (2认同)