Я работаю над сценарием python для создания вводимых данных для предварительно созданного изображения. Для этого я использую Python PILlon и разрабатываю для Windows 7.
Я борюсь с функцией draw.text (), в которой я ввожу позицию как (0,0). К сожалению, текст расположен на несколько пикселей вниз.
Во-первых, я подумал, что это моя ошибка, я поискал в Интернете и нашел страницу http://tools.jedutils.com/tools/center-text-image, где код для (центрированного, но проблема та же) изображения таков:
def create_image(font_name, font_size, font_color, width, height, back_ground_color, text, image_filter=None):
font = ImageFont.truetype ( font_path + font_name + ".ttf", font_size )
im = Image.new ( "RGB", (width,height), back_ground_color )
draw = ImageDraw.Draw ( im )
text_x, text_y = font.getsize(text)
x = (width - text_x)/2
y = (height - text_y)/2
draw.text ( (x,y), text, font=font, fill=font_color )
#if filter: #i don't need given filter
# real_filter = filter_dict[image_filter]
# im = im.filter(real_filter)
im.save ( "runaway_emboss.jpg" )
После выполнения этого кода я столкнулся с той же проблемой, что и с моим собственным скриптом. Позже я подумал, что это может быть проблема шрифта, поэтому я скопировал его из папки Windows Fonts в папку с файлом * .py, я попытался загрузить шрифты из Интернета. Результат был одинаковый.
Изображение проблемы:
Плохо: Хорошо:
Вы хоть представляете, в чем может быть источник проблемы?