如何在包含FEH中特定大小(MxN)的网格上显示图像?

JammingThebBits

我在目录中大约有30张图像(所有图像的大小均相同:300x75),并希望将它们显示在5x6的网格上

到目前为止,我已经手动完成了:

$ feh -i --thumb-width 300 --thumb-height 75  --limit-width 300*5 --limit-height 75*6 . &

有内置选项吗?像这样的东西:

$ feh -i --num-rows 5 --num-columns 6 .

此外,它看起来更干净,我想避免:

  1. 说明原始图像的大小为拇指宽度拇指高度,因此在索引模式下不会调整原始大小。
  2. 手动计算极限宽度极限高度,以便显示所有图像。
你好

在研究这个问题时,我发现没有什么东西可以允许它在本机上出现feh蒙太奇开关是最接近的,但它不允许任何动态调整大小,仅显示基于-H-W开关的蒙太奇

鉴于此,我觉得最好的方法是这样的:

$ cat fehm.bash
#!/bin/bash

 gridW=5
 gridH=6

 file=(*.jpg)
 W=$(identify -ping -format '%w' $file)
 H=$(identify -ping -format '%h' $file)
 LW=$(($W * $gridW))
 LH=$(($H * ($gridH + 1)))
 feh -i --index-info '' --thumb-width $W --thumb-height $H \
   --limit-width $LW --limit-height $LH .


 #    --index-info format
 #             Show image information based on format below thumbnails in 
 #             index / thumbnail mode.  See FORMAT SPECIFIERS.  May contain 
 #             newlines. Use "--index-info ''" to display thumbnails without  
 #             any info text
 #
 #             Note: If you specify image-related formats (such as %w or 
 #             %s), feh needs to load all images to calculate the dimensions 
 #             of its own window.  So when using them with many files, it 
 #             will take a while before a feh window becomes visible. Use 
 #             --preload to get a progress bar.
 #
 #   -i, --index
 #             Enable Index mode.  Index mode is similar to montage mode, 
 #             and accepts the same options.  It creates an index print of 
 #             thumbnails, printing the image name beneath each thumbnail.  
 #             Index mode enables certain other options, see INDEX AND 
 #             THUMBNAIL MODE OPTIONS and MONTAGE MODE OPTIONS.
 #
 #   -H, --limit-height pixels
 #             Limit the height of the montage.
 #
 #   -W, --limit-width pixels
 #             Limit the width of the montage, defaults to 800 pixels.
 #
 #             If both --limit-width and --limit-height are specified, the 
 #             montage will be exactly width x height pixels in dimensions.
 #
 #   -E, --thumb-height pixels
 #             Set thumbnail height.
 #
 #   -y, --thumb-width pixels
 #             Set thumbnail width.

如果您不想拥有脚本,则可以将以上内容合并到Bash函数中:

$ cat fehm_func.bash
fehm () {
 gridW=5
 gridH=6

 file=(*.jpg)
 W=$(identify -ping -format '%w' $file)
 H=$(identify -ping -format '%h' $file)
 LW=$(($W * $gridW))
 LH=$(($H * ($gridH + 1)))
 feh -i --index-info '' --thumb-width $W --thumb-height $H \
   --limit-width $LW --limit-height $LH .
}

您可以像这样简单地获取上述内容:

$ . fehm_func.bash
$ fehm

修改

我在执行此操作时注意到的一件事是您的原始示例似乎无效。将网格设置为5x6只会导致5x5。这似乎是由于图像行之间的间隔所致。要解决此问题,我在$gridH计算上加了一个1,有效地使其变为5x7。

 LH=$(($H * ($gridH + 1)))

运行示例

有了以上的地方。我使用以下脚本构造了一些示例数据。数据由与您的尺寸相同的300x75图像组成,它们在蓝色和红色之间交替显示,以帮助查看我提供的解决方案的效果。

$ for i in {01..30};do int=$(expr $i); [ $((int%2)) -eq 0 ] && c=blue || \
   c=red; convert -size 300x75 xc:${c} img${i}.jpg;done

结果在这组文件中:

$ ls | column -c 80
img01.jpg   img07.jpg   img13.jpg   img19.jpg   img25.jpg
img02.jpg   img08.jpg   img14.jpg   img20.jpg   img26.jpg
img03.jpg   img09.jpg   img15.jpg   img21.jpg   img27.jpg
img04.jpg   img10.jpg   img16.jpg   img22.jpg   img28.jpg
img05.jpg   img11.jpg   img17.jpg   img23.jpg   img29.jpg
img06.jpg   img12.jpg   img18.jpg   img24.jpg   img30.jpg

根据上面的数据,现在,如果我们使用我们的fehm函数:

$ fehm

ss1

参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在几个特定大小的窗口中显示许多图像,用php中的标签分开

来自分类Dev

如何在jQuery中滚动显示图像网格?

来自分类Dev

如何在网格视图asp控件中显示图像?

来自分类Dev

如何在响应网格中的图像上获取字幕?

来自分类Dev

如何在组中的特定网格上捕获单击事件

来自分类Dev

如何在JavaScript中调整大小和显示图像

来自分类Dev

我如何在 python tkinter 中显示调整大小的图像

来自分类Dev

如何在不破坏网格结构的情况下在图像上放置大小自适应的文本?

来自分类Dev

我如何将2的li响应大小比例设置为2,以在网格中包含不同大小的图像

来自分类Dev

如何在引导网格单元格中安装锚标记(包含图像)?

来自分类Dev

如何在C#中显示GIF图像的特定帧?

来自分类Dev

如何在Swift 2的TableView中显示特定图像

来自分类Dev

如何在javafx中显示图像的特定部分

来自分类Dev

如何在C#中显示GIF图像的特定帧?

来自分类Dev

如何在opencart中的成功通知消息上显示图像?

来自分类Dev

如何在Qt中的图像上显示文本?

来自分类Dev

在Corona / Lua中,如何在图像上显示数字?

来自分类Dev

如何在Android上的Meteor Cordova应用中显示图像?

来自分类Dev

如何在图像上包含单选按钮?

来自分类Dev

如何在2x2网格中显示这些图像?

来自分类Dev

如何在wordpress的网格布局中显示带有图像的帖子类别?

来自分类Dev

如何在CSS中居中显示网格?

来自分类Dev

如何避免总是在ssh命令中添加-Y参数,以使我能够运行feh和显示图像

来自分类Dev

如何在全屏模式下显示选定的网格图像

来自分类Dev

如何在垂直位置使用网格视图显示图像视图?

来自分类Dev

如何在引导图像网格中处理肖像图像

来自分类Dev

如何在html中的小屏幕上显示图像并在大屏幕上显示视频

来自分类Dev

如何在Matlab中创建具有特定等级的mxn矩阵?

来自分类Dev

熊猫:如何在pd.DataFrame.plot()中的x轴上显示较小的网格线

Related 相关文章

  1. 1

    如何在几个特定大小的窗口中显示许多图像,用php中的标签分开

  2. 2

    如何在jQuery中滚动显示图像网格?

  3. 3

    如何在网格视图asp控件中显示图像?

  4. 4

    如何在响应网格中的图像上获取字幕?

  5. 5

    如何在组中的特定网格上捕获单击事件

  6. 6

    如何在JavaScript中调整大小和显示图像

  7. 7

    我如何在 python tkinter 中显示调整大小的图像

  8. 8

    如何在不破坏网格结构的情况下在图像上放置大小自适应的文本?

  9. 9

    我如何将2的li响应大小比例设置为2,以在网格中包含不同大小的图像

  10. 10

    如何在引导网格单元格中安装锚标记(包含图像)?

  11. 11

    如何在C#中显示GIF图像的特定帧?

  12. 12

    如何在Swift 2的TableView中显示特定图像

  13. 13

    如何在javafx中显示图像的特定部分

  14. 14

    如何在C#中显示GIF图像的特定帧?

  15. 15

    如何在opencart中的成功通知消息上显示图像?

  16. 16

    如何在Qt中的图像上显示文本?

  17. 17

    在Corona / Lua中,如何在图像上显示数字?

  18. 18

    如何在Android上的Meteor Cordova应用中显示图像?

  19. 19

    如何在图像上包含单选按钮?

  20. 20

    如何在2x2网格中显示这些图像?

  21. 21

    如何在wordpress的网格布局中显示带有图像的帖子类别?

  22. 22

    如何在CSS中居中显示网格?

  23. 23

    如何避免总是在ssh命令中添加-Y参数,以使我能够运行feh和显示图像

  24. 24

    如何在全屏模式下显示选定的网格图像

  25. 25

    如何在垂直位置使用网格视图显示图像视图?

  26. 26

    如何在引导图像网格中处理肖像图像

  27. 27

    如何在html中的小屏幕上显示图像并在大屏幕上显示视频

  28. 28

    如何在Matlab中创建具有特定等级的mxn矩阵?

  29. 29

    熊猫:如何在pd.DataFrame.plot()中的x轴上显示较小的网格线

热门标签

归档