【问题标题】:What gem or external program should I use with Ruby and Linux, to help to choose an image?我应该在 Ruby 和 Linux 中使用什么 gem 或外部程序来帮助选择图像?
【发布时间】:2021-09-27 18:18:00
【问题描述】:

我的 Ruby 脚本从照片目录中选择一个随机图像,然后通过简单地调用“feh”图像查看器向我显示选择的图像。目前,如果需要,我无法继续下一张照片:因为照片必须在某种程度上适合脚本之前随机选择的音乐,并在媒体播放器中打开。我可以使用哪个 gem 甚至外部程序来实现这个目的,如果调用它,它可以进入下一个随机图像,并等待我按 Y 或 ESC 接受,或按 N 以获得下一个随机图像。

【问题讨论】:

  • 很抱歉,我不清楚您的问题。为什么需要 gem 来从文件夹中选择下一个随机图像?
  • 应该以某种方式通知主 Ruby 脚本,屏幕上显示的给定图像已被我接受。
  • 你可以试试 ImageMagick。

标签: ruby linux imagemagick rmagick feh


【解决方案1】:

我用 feh 找到的一个棘手的解决方案:

ret=%x{feh -z --info "echo '%F' 1>&2" /path/to/images/* 2>&1}
last_image=ret.split("\n").last
puts "chosen image: "+last_image

解释:-z 随机化文件列表,--info 接受一个命令行,其返回值在图像上显示为信息,例如。 exif 数据、大小等。目前它是一个简单的 echo 命令,回显实际文件路径,但将其输出从 stdout 重定向到 stderr。这样,信息不会显示在当前图像上,而是简单地打印到 STDERR。在 feh 命令行的末尾,它的 stderr 被重定向到 stdout,因此 Ruby 的 %x 命令收集打印的行。退出 feh 后,“ret”变量包含所有打印的行,这些行由 --info 钩子回显。最后一张是显示的最后一张图片,也就是接受的图片。

【讨论】:

    猜你喜欢
    • 2013-05-03
    • 2011-09-19
    • 2011-10-14
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 2023-04-05
    相关资源
    最近更新 更多