2013-08-18 73 views
0

是否有在Python中的图像上添加文本的最流行方式?我发现了一些完全不同的方法,这似乎是最好的,但它不工作:在Python中向图像添加文本

from PIL import Image 
from PIL import ImageFont 
from PIL import ImageDraw 
img = Image.open("/full_path/1.jpg") 
draw = ImageDraw.Draw(img) 
font = ImageFont.truetype("/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-C.ttf", 16) 
draw.text((0, 0),"Sample Text",(255,255,255),font=font) 
img.save('/full_path/sample-out.jpg') 

其运行后,画面依然没有在其上的文字。

+1

尝试把文本其他地方。 IIRC,PIL坐标系将(0,0)置于左上角。如果'draw.text()'为文本的基线获取一个坐标,则您正在图像之外进行绘制。 –

回答

2

试试这个:

import PIL 
from PIL import ImageFont 
from PIL import Image 
from PIL import ImageDraw 

img=Image.open("pathToImage") 

font = ImageFont.truetype("pathToFont",10) 

draw = ImageDraw.Draw(img) 
draw.text((0, 0),"This is a test",(255,255,0),font=font) 
draw = ImageDraw.Draw(img) 
draw = ImageDraw.Draw(img) 
img.save("a_test.png")