我使用编号/标签的图像(例如1,2,3或A,B,C)与ImageMagick的蒙太奇
montage *.tif output.tif
几个图像组合为一个。我现在想让它们被编号(有时候是1,2,3 ...; somtimes A,B,C ...) 有哪些可能性来标记组合中的单个图像?有没有将标签放在图片下方的选项,例如,在左上角还是右下角?
可惜我便无法真正弄清楚如何使用-label命令来实现这一目标。感谢您的任何建议。
我使用编号/标签的图像(例如1,2,3或A,B,C)与ImageMagick的蒙太奇
montage *.tif output.tif
几个图像组合为一个。我现在想让它们被编号(有时候是1,2,3 ...; somtimes A,B,C ...) 有哪些可能性来标记组合中的单个图像?有没有将标签放在图片下方的选项,例如,在左上角还是右下角?
可惜我便无法真正弄清楚如何使用-label命令来实现这一目标。感谢您的任何建议。
如果你想投资,你可以有更多的控制再努力一点。如果你这样做,你可以在剪辑时将标签“动态”标记为,而不必将它们全部贴上标签,然后剪辑。您还可以控制宽度,在每行图像的数量而言,更容易:
#!/bin/bash
number=0
for f in *.tif; do
convert "$f" -gravity northwest -annotate +0+0 "$number" miff:-
((number++))
done | montage -tile x3 - result.png
这需要ImageMagick的miff
格式,这意味着多个图像文件格式的优点来连接所有输出图像并将其发送到montage
命令的stdin
。
或者,你可以改变这样的脚本:
#!/bin/bash
number=0
for f in *.tif; do
convert "$f" -gravity northwest -fill white -annotate +0+0 "$number" miff:-
((number++))
done | montage -tile 2x - result.png
得到
或者,也许这...
#!/bin/bash
number=0
for f in *.tif; do
convert "$f" -gravity northwest -background gray90 label:"$number" -composite miff:-
((number++))
done | montage -tile 2x - result.png
或用字母......
#!/bin/bash
number=0
letters="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for f in *.tif; do
label=${letters:number:1}
convert "$f" -gravity northwest -background gray90 label:"$label" -composite miff:-
((number++))
done | montage -tile 2x - result.png
是的,你的答案真的帮了我。非常感谢您的详细描述。与-composite miff一起使用for循环: - 非常棒。 虽然我找不出两件事:1)如果我完全离开 - backround它使背景白色(与背景白色相同的结果)有没有办法不使用任何背景场? 2)如何设置字体为Times New Roman? -font Times New Roman does not work,neighter does -font Times \ New \ Roman 我的命令如下所示: convert“$ i”-gravity northwest -pointsize 120 label:“$ label”-composite miff: - –
使用'-font'TimesNewRoman“'。 –
试试'-background none' –