我需要编写一个bash脚本,以使用imagemagick注释给定的图像。问题在于,该图像可以是任何大小,并且其注释在任何图像上都应该看起来几乎相同。
输出结果在任何图像上都应该像这样:
所以我想指出几点:
使用ImageMagick版本6或7,您可以将标签的大小设置为适合任何输入图像,并具有半透明的背景,然后将其在输入图像的底部进行合成以获得您所描述的结果。这是使用IM 6执行的命令...
convert input.png -set option:size %[w]x \
-fill white -background "#00000080" \
\( label:"This is my text." \
-virtual-pixel background -distort SRT "0.8 0" \
-virtual-pixel none -distort SRT "0.8 0" \) \
-gravity south -composite result.png
即使用输入图像“%[w]”的宽度来设置标签的宽度。它将文本颜色设置为白色,背景设置为半透明黑色,“#00000080”。
在括号内会创建您的标签。它使用“扭曲SRT”将标签缩小一点,以将其从边缘拉入。然后它将标签进一步缩小,以在标签周围添加一些透明空间。
创建标签后,它将重力设置为“南”,并将标签合成到输入图像上。通过写入输出文件结束。
使用IM 7,您需要将“转换”更改为“魔术”。对于Windows,将连续的反斜杠“ \”更改为插入符号“ ^”,并消除转义括号的反斜杠。
编辑添加:通常,在制作“标签:”之前,请先使用“ -size WxH”,以将其限制在特定尺寸内。我改用了“ -set option:size”,因为它允许在IM 6中使用百分比转义,例如“%[w]”。这样,标签尺寸就相对于任何输入图像宽度而言。