如何将输入数字添加到图像?

How can I add an input number to an image?

我想要一个输入数字和图像的脚本,然后将数字写在图像的一角。

然后我会将此脚本概括为两个输入的列表。

但是,我不知道是否有特定的语言/应用程序可以进行这种图像处理。

我会推荐 ImageMagick,它是免费的,安装在大多数 Linux 发行版上,并且很容易安装在 Windows 和 Mac OSX 上。它可以从 - here 下载。您可以在命令行或 PHP/Perl/Ruby 和大多数其他语言中使用它。

在命令行你可以这样做:

convert input.jpg -gravity southeast \
          -stroke '#000C' -strokewidth 2 -annotate 0 'Dail Beagh' \
          -stroke  none   -fill white    -annotate 0 'Dail Beagh' \
          output.jpg

或者这个...

convert input.jpg -fill red -undercolor '#00000080' -gravity SouthWest \
        -annotate +0+5 'Dail Beagh' output2.jpg   

或任意数量的其他版本 - link

如果您想编写脚本,您可以将以下内容保存在名为 title

的文件中
#!/bin/bash
image=
title=

convert "$image" -gravity southeast \
          -stroke '#000C' -strokewidth 2 -annotate 0 "$title" \
          -stroke  none   -fill white    -annotate 0 "$title" \
          output.jpg

convert "$image" -fill red -undercolor '#00000080' -gravity SouthWest \
        -annotate +0+5 "$title" output2.jpg   

然后使用

使其可执行
chmod +x title

然后 运行 它与

./title "input.jpg" "some funky title"

或者如果您特别想要一个数字

./title "some image somewhere.png" 56

或者,假设您有一些 ready-made 数字保存为 GIF 文件,例如

0.gif

9.gif

您可以将它们附加 side-by-side 来制作这样的标签:

convert 9.gif 9.gif 0.gif +append label.gif

做这个:

然后用

将其叠加到您的图像上
convert input.jpg -gravity southeast label.gif -composite output.jpg

或者,您可以使用以下方法一次性完成所有操作:

convert input.jpg -gravity southeast   \
    \( 9.gif 9.gif 0.gif +append \)    \
    -composite output.jpg