如何在ImageMagick的montage中添加选项生成垂直堆叠的N×3表格?
可以用ImageMagick的montage工具实现N×3垂直堆叠表格
无需切换到convert工具,以下提供两种可行方案:
方案1:分两步生成(直观易控)
先将每类图片分别垂直堆叠成单列,再把三个单列水平拼接成最终表格:
# 第一步:生成每类图片的垂直单列 montage "${output}/type1*.png" -tile 1x -geometry 800x600+1+1 -frame 4 -background white -mattecolor lightgoldenrod2 -mode Frame -bordercolor white "${output}/col_type1.png" montage "${output}/type2*.png" -tile 1x -geometry 800x600+1+1 -frame 4 -background white -mattecolor lightgoldenrod2 -mode Frame -bordercolor white "${output}/col_type2.png" montage "${output}/type3*.png" -tile 1x -geometry 800x600+1+1 -frame 4 -background white -mattecolor lightgoldenrod2 -mode Frame -bordercolor white "${output}/col_type3.png" # 第二步:将三个单列水平拼接成N×3表格 montage "${output}/col_type1.png" "${output}/col_type2.png" "${output}/col_type3.png" -tile 3x1 -geometry +0+0 -background white "${output}/summary.png" # 可选:删除中间生成的单列图片 rm "${output}/col_type1.png" "${output}/col_type2.png" "${output}/col_type3.png"
方案2:单命令生成(依赖文件名规律)
如果三类图片文件名按序号一一对应(比如type1_01.png、type2_01.png、type3_01.png为第一行),可通过调整输入顺序配合-tile 3x参数一步生成:
# 按行序组织图片:每行依次取type1、type2、type3的对应图片 montage $(paste -d' ' <(ls "${output}/type1*.png" | sort) <(ls "${output}/type2*.png" | sort) <(ls "${output}/type3*.png" | sort)) \ -geometry 800x600+1+1 -frame 4 -background white -mattecolor lightgoldenrod2 -mode Frame -bordercolor white -tile 3x \ "${output}/summary.png"
关键参数说明
-tile 1x:强制单类图片垂直堆叠为1列,行数自动匹配图片数量-tile 3x:指定最终表格为3列布局,行数由总图片数自动计算paste+sort:确保三类图片按序号一一对应,避免文件名排序混乱
内容的提问来源于stack exchange,提问作者James Starlight
相关产品推荐
相关产品推荐

