如何使用PIL获得日本文本到图像的正确输出?

2024-10-02 22:23:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段代码,它给出了包含相应text2write变量的png文件。你知道吗

# -*- coding: utf-8 -*-
# text 2 img

from PIL import Image, ImageDraw, ImageFont

bg={
'white':(255, 255, 255),
'black':(0,0,0),
'black':'black',
'grey':(125,125,125)
}

ftsize=30
# text2write
# 見五口
text=u"見五口"

# dynamic bg size by text size
bgsize=(int((ftsize*len(text))/2+ftsize),ftsize*2) #x,y

img = Image.new('RGB', bgsize, color = bg['grey'])
# usethis if py2
fnt = ImageFont.truetype('/home/user/.fonts/arial.ttf', ftsize)
# fnt = "arial"
d = ImageDraw.Draw(img)
d.text((10,10), text,
font=fnt, fill=bg['black'])

img.save('output.png')

给这个output . 我确实希望在巴布亚新几内亚能看到見五口chars节目。你知道吗


Tags: textimageimgsizepnggreybgblack
2条回答

试试这个,当你把文字放到图片上

text.encode("utf-8")

编辑2

fnt=ImageFont.truetype("/Library/Fonts/Arial Unicode.ttf",14)
draw.text((50, 50), text, font=font)

但是字体不支持unicode。用Conda200代替,它可以工作

fnt = ImageFont.truetype('/home/user/.local/share/fonts/CODE2000.TTF', ftsize)

相关问题 更多 >