在图片上叠加0000到9999的数字

时间:2011-11-05 02:46:55

标签: image autoit

我有一张白色/空白的照片。我的目标是自动生成一个从0000到9999的数字并将其放在图片的顶部,然后将其导出/保存为png。

结果应该是

mypicture_0000.png

mypicture_0001.png

...

mypicture_9999.png

有没有人尝试过类似的东西? 我正在考虑尝试自动,但这会有用吗?如果是这样,我应该使用autoit哪个软件?

谢谢。

2 个答案:

答案 0 :(得分:1)

自动可能有效。我会使用python PIL。我可以指定字体,将其转换为图层并叠加在预先存在的图像上。

修改 实际上,imagemagick比PIL http://www.imagemagick.org/Usage/text/

更容易

答案 1 :(得分:1)

如果你安装了Python并安装了Python Imaging Library (PIL),那应该不是什么大问题:

from PIL import Image, ImageFont, ImageDraw

BACKGROUND = '/path/to/background.png'
OUTPUT = '/path/to/mypicture_{0:04d}.png'
START = 0
STOP = 9999

# Create a font object from a True-Type font file and specify the font size.
fontobj = ImageFont.truetype('/path/to/font/arial.ttf', 24)

for i in range(START, STOP + 1):
    img = Image.open(BACKGROUND)
    draw = ImageDraw.Draw(img)
    # Write a text over the background image.
    # Parameters: location(x, y), text, textcolor(R, G, B), fontobject
    draw.text((0, 0), '{0:04d}'.format(i), (255, 0, 0), font=fontobj)
    img.save(OUTPUT.format(i))

print 'Script done!'

有关为其他字体格式创建字体对象的其他方法,请参阅PIL手册