Наложение чисел от 0000 до 9999 на картинку - PullRequest
0 голосов
/ 05 ноября 2011

У меня есть картинка с некоторым белым / пустым пространством.Моя цель - автоматически сгенерировать число от 0000 до 9999 и поместить его поверх изображения, а затем экспортировать / сохранить его в формате png.

результат должен быть

mypicture_0000.png

mypicture_0001.png

...

mypicture_9999.png

Кто-нибудь пробовал что-то подобное?Я думаю о попытке autoit, но будет ли это работать?Если да, то какое программное обеспечение я должен использовать с autoit?

Спасибо.

Ответы [ 2 ]

1 голос
/ 05 ноября 2011

Не должно быть большой проблемы, если у вас установлен 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 для других способов создания объектов шрифта для других форматов шрифта

1 голос
/ 05 ноября 2011

autoit может работать. Я бы использовал Python PIL. я могу указать шрифт, преобразовать его в слой и наложить поверх существующего изображения.

EDIT на самом деле imagemagick может быть проще, чем PIL http://www.imagemagick.org/Usage/text/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...