事前に作成されたイメージに入力データを作成するための python スクリプトに取り組んでいます。このために、私は Python の PILlon を使用しており、Windows 7 で開発しています。
関数 draw.text() に苦労しています。この関数では、位置を (0,0) に入力します。残念ながら、テキストは数ピクセル下に配置されています。
最初に、私はそれが私の間違いだと思いました.Webを検索し、ページを見つけました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 ファイルの場所にコピーし、Web からフォントをダウンロードしてみました。すべて同じ結果でした。
問題の画像:
悪い:
良い:
問題の原因は何ですか?