如何使用 ImageMagick 在裁剪图像顶部注释文本
Posted
技术标签:
【中文标题】如何使用 ImageMagick 在裁剪图像顶部注释文本【英文标题】:How to annotate a text on the top of a cropped image using ImageMagick 【发布时间】:2020-03-10 16:49:28 【问题描述】:我想在一系列图像的顶部注释一个计数器,每个图像都是裁剪的。 我写道:
crop=1050x"$height"+0+"$top"
loc=90x90+10+"$top"
time=$((time-1))
convert $image -crop "$crop" -pointsize 24 -fill white -undercolor '#00000080' -gravity North -annotate $loc "$time" "out/page_"$counter"_"$i".png"
这在循环中被调用并且变量top增加。所以,我可以在第一个输出图像的顶部看到计数器,但在其余图像上看不到。似乎它首先在原始图像上绘制计数器然后对其进行裁剪,因此计数器在裁剪后消失。
我尝试使用$loc
变量作为注释的位置,但它也不起作用!
【问题讨论】:
我会在-crop
操作之后添加 +repage
以将分页几何设置回 WxH+0+0。如果您希望注释与每个图像的顶部距离相同,请不要在 $loc 变量中使用 $top 增加该距离。只需使用您希望文本从顶部向下的像素数。
@GeeMack 谢谢,您可以将其发布为答案。
【参考方案1】:
当您使用 ImageMagick 进行“-crop”时,您通常需要在操作后立即添加“+repage”以将裁剪后的分页几何设置回 WxH+0+0。这可能很重要,因为像“-annotate”这样的一些操作将根据该几何进行定位。
在您的命令中,如果您希望注释与每张图像顶部的距离相同,请在裁剪后重新分页,并且不要使用“$loc”变量中的“$top”增加该距离。只需使用您希望文本从顶部向下的像素数。
【讨论】:
以上是关于如何使用 ImageMagick 在裁剪图像顶部注释文本的主要内容,如果未能解决你的问题,请参考以下文章