【问题标题】:How to annotate a text on the top of a cropped image using ImageMagick如何使用 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 谢谢,您可以将其发布为答案。

标签: linux bash image imagemagick crop


【解决方案1】:

当您使用 ImageMagick 进行“-crop”时,您通常需要在操作后立即添加“+repage”以将裁剪后的分页几何设置回 WxH+0+0。这可能很重要,因为像“-annotate”这样的一些操作将根据该几何进行定位。

在您的命令中,如果您希望注释与每张图像顶部的距离相同,请在裁剪后重新分页,并且不要使用“$loc”变量中的“$top”增加该距离。只需使用您希望文本从顶部向下的像素数。

【讨论】:

    猜你喜欢
    • 2013-08-06
    • 2016-12-08
    • 2016-12-03
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多